我有一個情況我偶爾方法-tableView: numberOfRowsInSection:
請求解除分配的NSArray的計數。我希望能夠測試這個數組是否以安全的方式釋放,並且不會打電話給殭屍。測試對象是否已釋放
我的代碼目前是這樣的:通過這個
-(NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section
{
if (! self.offers){
return 0;
}
return [self.offers count];
}
我剛剛調試階梯並觀察它傳遞! self.offers
測試,然後在[self.offers count]
慘遭崩潰。我已經NSZombies打開,並且在該行我得到的NSLog消息:
-[__NSArrayM count]: message sent to deallocated instance 0x283dc0
所以,無論是self.offers,在這一點上,是不是零,但也沒有任何在有效指出。我該如何測試?
編輯:感謝艱難的愛情,朋友。我想出了爲什麼我一直在處理內存管理問題 - 實際上這是一個代表關係的問題,它們拖延的時間比它們有用的時間要長。看到這裏的完整回答我的問題: Managing calls to objects that get deallocated when the view is backed out of
可能重複[如何確定如果我有一個指針釋放的對象?](http://stackoverflow.com/questions/12280799/how-to-determine- if-i-have-a-pointer-to-released-object) – OrangeDog 2014-01-17 12:34:55