Конкатенация строки со значением NSTextField приводит к нечетным символам в Objective-C - PullRequest
1 голос
/ 14 июня 2010

У меня второй день обучения Objective-C, какао и IB. Это, наверное, что-то действительно простое, но я не могу разобраться.

По сути, у меня есть форма с NSTextField, когда пользователь вводит это поле и нажимает кнопку ОК, приложение отображает предупреждение «Здравствуй, а затем значение».

Все это работает отдельно от конкатенации строк. Я использую следующий код для объединения строки «Hello» и значения NSTextField:

NSString *nameText = [NSString stringWithFormat:@"Hello %s", [nameTextField stringValue]];

Когда пользователь нажимает кнопку ОК, появляется предупреждение «Hello ‡ √ pˇ»!

Ответы [ 2 ]

1 голос
/ 14 июня 2010

stringValue возвращает NSString объект, и% s ожидает параметр c-string. Попробуйте использовать% @ вместо:

NSString *nameText = [NSString stringWithFormat:@"Hello %@", [nameTextField stringValue]];
1 голос
/ 14 июня 2010

Camsoft,

NSString Obj-C является объектом, исправьте вызов формата с помощью:

NSString *nameText = [NSString stringWithFormat:@"Hello %@",[nameTextField stringValue]];

Обратите внимание на % @ вместо % s .

Фрэнк

...