Ну, здесь есть несколько проблем.
Первый (а не тот, о котором вы спрашивали) заключается в том, что вы выделяете новую NSMutableString, а затем просто выбрасываете ее во второй строке, когда устанавливаете его в someTextFieldIbOutlet.text. Кроме того, вы приводите неизменяемую строку к изменяемой, которая на самом деле не будет работать. Вместо этого объедините первые две строки следующим образом:
NSMutableString* mStr = [NSMutableString stringWithString:someTextFieldIbOutlet.text];
Фактическая ошибка, которую вы получаете, вызвана тем, что первым аргументом NSLog считается строка «format», которая сообщает NSLog, как вы хотите отформатировать данные, которые следуют в последующих аргументах. Это должна быть буквальная строка (созданная как @"this is a literal string"
), чтобы ее нельзя было использовать для использования вашей программы путем внесения в нее изменений.
Вместо этого используйте это:
NSLog(@"%@", mStr );
В этом случае строка формата - @"%@"
, что означает «Создать объект NSString
, установленный на %@
». %@
означает, что следующим аргументом является объект, и заменить %@
описанием объекта (которое в данном случае является значением строки).