3 Stimmen

NSTextField setStringValue: Anhängen von Zeichenketten an NSTextField

Ich habe ca. 10 Schaltflächen mit unterschiedlichen Namen und muss bei Auswahl jeder Schaltfläche den Titel der Schaltfläche an das NSTextField anhängen, ohne die ältere Zeichenfolge zu entfernen.

Ich habe es auf folgende Weise versucht.

- (IBAction)nextButton:(NSButton*)sender
{
    int tag = [sender tag];

    if (tag==1) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==2) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==3) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==4) {
        [resultField setStringValue:[sender title]];
    }
    else if (tag==5) {
        [resultField setStringValue:[sender title]];
    }
    else if (tag==6) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==7) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==8) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==9) {

        [resultField setStringValue:[sender title]];
    }
    else if (tag==10) {

        [resultField setStringValue:[sender title]];
    }
}

Hier ist resultField mein NSTextField.

setStringValue überschreibt die neue Zeichenfolge, so dass ich nicht in der Lage, Zeichenfolge an NSTextField.is gibt es eine einfache Möglichkeit, dies zu implementieren oder verwenden Sie NSString-Wert, um die vorherige Zeichenfolge zu halten und diese Zeichenfolge zu NSTextFiled zusammen mit neuen Schaltfläche Zeichenfolge Wert festgelegt.

6voto

Michael Dautermann Punkte 87782

Wie wäre es mit etwas wie:

[resultField setStringValue: 
    [NSString stringWithFormat: @"%@ %@", [resultField stringValue], [sender title]];

Die Idee dabei ist, dass Sie den ursprünglichen Inhalt Ihres NSTextFields nehmen und eine neue Zeichenkette über stringWithFormat und weisen Sie diese neue Zeichenfolge dann Ihrem NSTextField zu.

3voto

Abhi Beckert Punkte 31716

Verwenden Sie stringByAppendingString: o stringWithFormat: um zwei Strings miteinander zu verbinden:

resultField.stringValue = [resultField.stringValue stringByAppendingString:sender.title];

oder:

resultField.stringValue = [NSString stringWithFormat:@"%@ %@", resultField.stringValue, sender.title];

Wählen Sie stringByAppendingString: wenn Sie wirklich ein einfaches Append wollen, oder stringWithFormat: wenn Sie dazwischen Leerraum/etc. benötigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X