2012-03-27 3 views
3

У меня есть 10 кнопок с разными именами. Каждый раз, когда я выбираю каждую кнопку, мне нужно добавить название кнопки в NSTextField, не удаляя старшую строку.NSTextField setStringValue: добавить строки в NSTextField

Я пробовал следующим образом.

- (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]]; 
    } 
} 

Здесь resultField - это мой NSTextField.

setStringValue переопределяет новую строку, так что я не смог добавить строку в NSTextField.Is есть простой способ реализовать это или использовать значение NSString для хранения предыдущей строки и установить эту строку в NSTextFiled вместе с строкой новой кнопки стоимость.

ответ

6

Как о чем-то вроде:

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

Идея заключается в том, что вы принимаете исходное содержание вашего NSTextField и составить новую строку с помощью stringWithFormat, а затем назначить эту новую строку к вашему NSTextField.

3

Использование stringByAppendingString: или stringWithFormat: соединить две строки вместе:

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

или:

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

Выберите stringByAppendingString:, если вы действительно хотите, основной Append или stringWithFormat:, если вам нужно пустое пространство/и т.д. между ,

Смежные вопросы