1
我開始處理NSOperations和(像平時一樣併發)我正在觀察奇怪的行爲。 在我的課堂我有一個實例變量:消息發送到從未被釋放的釋放實例
NSMutableArray *postResultsArray;
當UI一個按鈕被按下我初始化數組:
postResultsArray = [NSMutableArray array];
和設置操作(與依賴關係一起)。
在我創建一個自定義對象,並嘗試添加到陣列的操作:
PostResult *result = [[PostResult alloc] initWithServiceName:@"Sth" andResult:someResult];
[self.postResultsArray addObject:result];
,並同時加入我得到:
- [CFArray挽留]:消息發送到釋放實例0x3b40c30
這是奇怪的,因爲我不在我的代碼中任何地方釋放數組(我做過,但是當問題開始出現時,我評論了所有的發佈確保他們不是這種情況)。我也曾經有@synchronized節如下:
PostResult *result = [[PostResult alloc] initWithServiceName:@"Sth" andResult:someResult];
@synchronized (self.postResultsArray) {
[self.postResultsArray addObject:result];
}
但問題是相同的(但是,錯誤是爲同步操作)。
任何想法我可能做錯了什麼?
是的,就是這樣。很高興知道。非常感謝! – Jakub 2010-04-11 13:12:11