1
創建UILabel並再次釋放時,如果我想重複使用它直到我的數組中的記錄不存在,那麼正確的方法是什麼?回收循環中的標籤並釋放它們
我想這本:
// create label
UILabel *labelIWishToRecycle;
for (int i = 0; i < [myArrayFullOfItems count]; i++) {
// Edit the label
labelIWishToRecycle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 640)];
}
// Release label
[labelIWishToRecycle release];
當我這樣做,這樣我得到一個崩潰釋放它。所以我只是不釋放它。現在就像魅力一樣。當然,這不是方式,所以我想知道是什麼。
我應該爲數組中的每個項目創建並釋放標籤嗎?或者我應該在for循環之外創建它,但是在內部釋放它?要麼 ...?
在此先感謝。
從您發佈的東西,它看起來像你實例labelIWishToRecycle多次,但釋放它只有一次。這將解釋崩潰。如果你永遠不會釋放它,程序將運行,但你會得到一個泄漏。 – 2012-03-25 00:24:33