访问NSMutableArray时出现奇怪的崩溃

时间:2011-05-27 19:21:33

标签: iphone nsmutablearray writetofile

我将对象添加到NSMutableArray并打印出其内容。

添加第一个对象时,数组表示count为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 个答案:

答案 0 :(得分:1)

你有一个僵尸。您的sharedsArray需要保留。见this post

你可以调用count,因为Objective-C只是没有操作向nil对象发送消息,但直接引用该对象会导致崩溃。