Странный сбой при доступе к NSMutableArray - PullRequest
0 голосов
/ 27 мая 2011

Я добавляю объекты в NSMutableArray и распечатываю его содержимое.

При добавлении первого объекта он работает, и массив сообщает, что количество равно 1.

Когда я добавляю второй объект, он показывает, что массив имеет счетчик 2, но при обращении к массиву непосредственно после этого происходит сбой приложения.

[sharedsArray addObject:noteToAdd];

NSLog(@"The count of the array is %d", [sharedArray count]);

// Write the array to file
NSLog(@"Filepath is %@", filePath);
NSLog(@"shared array is %@", sharedArray);

[sharedArray writeToFile:filePath atomically:YES];

Приложение вылетает на любом из этих двух операторов

 NSLog(@"shared array is %@", sharedArray);

[sharedArray writeToFile:filePath atomically:YES];

из-за доступа к sharedArray. Я не понимаю, почему не происходит сбой при проверке его количества, но происходит сбой при проверке его содержимого.

Содержимое NSMutableDictionaries.

Не могу опубликовать изображения.

0 objc_msgSend
1<????>
2 _CFAppendXML0
3 _CFAppendXML0
4 _CFPropertyListCreateXMLData
5 CFPropertyListCreateXMLData
6 -[NSArray(NSArray)writeToFile:Atomically:]

1 Ответ

1 голос
/ 27 мая 2011

У вас есть зомби.Ваш sharedsArray необходимо сохранить.См. этот пост

Вы можете рассчитывать на это, потому что Objective-C просто не отправляет сообщение объекту nil, но прямая ссылка на объект вызывает сбой.*

...