我将对象添加到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:]
答案 0 :(得分:1)
你有一个僵尸。您的sharedsArray需要保留。见this post
你可以调用count,因为Objective-C只是没有操作向nil对象发送消息,但直接引用该对象会导致崩溃。