にオブジェクトを追加するときのメモリ管理に関して問題がありますNSMutableArray
。奇妙なことに、最初に追加した 8 つのオブジェクトはすべて正常に動作していますが、9 つ目を追加すると、このオブジェクトを取得するときにアプリケーションがクラッシュします。
UploadStatus *status = [[UploadStatus alloc] initWithStatus:[NSString stringWithFormat:@"%@: %d", NSLocalizedString(@"uploadPictureSucceeded", @""), pic_id]
andImageInProgress:nil
imageForSuccess:nil
imageForFailed:nil];
[self.delegate notify:status];
[status release];
これは、テキストの異なるいくつかの場所で行われています。しかし、このオブジェクトには、UITableView
.
デリゲートのメソッドでオブジェクトをnotify
に追加し、その配列内のオブジェクトを表示するをリロードします。UploadStatus
NSMutableArray
UITableView
UploadStatus
オブジェクトを配列に追加してテーブルをリロードする最初の 8 回は、正しく表示されます。しかし、9回目にエラー[CFString preserve]: message sent to deallocated instance 0x5c655c0 が発生しました。このエラーは、cellForRowAtIndexPath
メソッドでテーブルをリロードするときに発生します。
奇妙なことは、このスクリーンショットのように、 内のオブジェクトが範囲外であることを常に示していることです。NSMutableArray
UploadStatus
それにもかかわらず、アイテムをフェッチし、それをクラスに変換してstatus
から取得すると、すべてがスムーズに進みます (最初の 8 つのオブジェクトに対して)。
UploadStatus
に9番目のオブジェクトを追加した後、なぜうまくいかないのか、誰にも手がかりがありNSMutableArray
ますか?
助けてくれてどうもありがとう!