0

我将对象添加到 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:]
4

1 回答 1

1

你有一个僵尸。您的 sharedsArray 需要保留。看到这个帖子

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

于 2011-05-27T19:42:07.987 回答