2011-05-27 134 views
0

我將對象添加到NSMutableArray並打印出它的內容。訪問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]; 

在任這些2個語句

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

[sharedArray writeToFile:filePath atomically:YES]; 

因爲訪問sharedArray的的應用崩潰。我不明白爲什麼它檢查它的計數時不會崩潰,但檢查它的內容時它崩潰。

內容是NSMutableDictionaries。

Can post post images。

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

發佈崩潰日誌... – Jhaliya 2011-05-27 19:24:14

+1

究竟是什麼是你遇到的崩潰?我不確定你是否可以NSLog這樣的對象,雖然 – 2011-05-27 19:24:16

+0

沒有崩潰日誌,我會發布堆棧跟蹤。我不認爲這是與打印出來,因爲如果我刪除它,應用程序崩潰在下一行[sharedArray writeToFile ....]; – user773578 2011-05-27 19:27:52

回答

1

你有一個殭屍。您的sharedsArray需要保留。請參閱this post

您可以調用它,因爲Objective-C只是無操作向nil對象發送消息,但直接引用該對象會導致崩潰。

+0

我正在發佈一些我本來不應該去的東西。進入數組的數據在writeToFile需要時釋放。不過謝謝。 – user773578 2011-05-27 19:48:23