[我敢肯定,這不是奇怪可言,但我只需要一點幫助]保留計數問:一些指導,請
我有兩個retain
性質
@property (nonatomic, retain) NSArray *listContent;
@property (nonatomic, retain) NSArray *filteredListContent;
和該viewDidLoad
方法我設置第二個等於第一(所以現在的retainCount是二,我認爲):
self.filteredListContent = self.listContent;
,然後每一個搜索我這樣做
self.filteredListContent = [listContent filteredArrayUsingPredicate:predicate];
,我想我應該做一個release
權這個任務上面 - 因爲屬性應該引起額外的保留,對不對? - 但這會導致程序在第二次運行搜索方法時爆炸。在保留計數(沒有額外release
)是2我第一次接觸到的搜索方法,以及各1個隨後的時間(這是我所期待的,可惜)。
一些指導將幫助,謝謝!不釋放是否正確?
我認爲你的意思是[self.filteredlistContent發佈]在第3行,但否則很好的解釋 – h4xxr 2010-05-25 20:07:18
是不是比其他人會推薦它更頻繁地使用'autorelease'的博客文章? – 2010-05-25 20:14:47
@yar:你知道'self.filteredListContent'等於'self.listContent'和'someArray'在那行嗎?發佈哪一個並不重要,它都是同一個對象。 (當然這隻有在屬性不是複製屬性的情況下才適用。) – 2010-05-26 16:22:08