2011-11-15 4 views
0

в файле заголовка я определилсбой приложения при использовании NSMutableString

NSMutableArray *numbers; 

В реализации я инициализировать этот массив первым в методе инициализации

numbers = [[NSMutableArray alloc] init]; 

я добавить строки в массив

[numbers insertObject:number atIndex:[numbers count]]; 

Но когда я получаю доступ к массиву, подобным этому, другим способом

NSLog(@"%@", [numbers count]); 

сбой приложения. Любая идея, почему это происходит?

ответ

1

Вы ошибаетесь здесь -

NSLog(@"%@", [numbers count]); 

Количество Массив представляет собой целое значение. Используйте% d вместо% @ для печати целого числа.

NSLog(@"%d", [numbers count]); 
1

Ваша строка формата не соответствует типу второго параметра.

[numbers count] возвращает целое число, а не объект.

Спецификатор формата "% @" указывает, что соответствующий аргумент является объектом, и этому объекту будет отправлено сообщение -description. Строка, возвращаемая из этого выражения сообщения, будет вставлена ​​вместо «% @». Ваше приложение выйдет из строя, потому что оно пытается отправить сообщение недопустимому получателю.

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