0

NSMutableArrayにオブジェクトを追加し、そのコンテンツを出力します。

最初のオブジェクトを追加すると、それは機能し、配列はカウントが1であることを示します。

2番目のオブジェクトを追加すると、配列のカウントが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です。

投稿画像をカントします。

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

1 に答える 1

1

あなたはゾンビを持っています。sharedsArrayを保持する必要があります。この投稿を見る

Objective-Cはnilオブジェクトにメッセージを送信するだけなので、countを呼び出すことができますが、オブジェクトを直接参照するとクラッシュが発生します。

于 2011-05-27T19:42:07.987 に答える