Сбой приложения при использовании NSMutableString - PullRequest
0 голосов
/ 15 ноября 2011

в заголовочном файле, который я определил

NSMutableArray *numbers;

В реализации я сначала инициализирую этот массив в методе init

numbers = [[NSMutableArray alloc] init];

Я добавляю строки в этот массив

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

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

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

приложение вылетает. Есть идеи, почему это происходит?

Ответы [ 2 ]

1 голос
/ 15 ноября 2011

Вы не правы здесь -

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

Счетчик массивов является целочисленным значением. Используйте% d вместо% @ для печати целого числа.

NSLog(@"%d", [numbers count]);
1 голос
/ 15 ноября 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...