1
我有一個NSObject(MyCustomObject)的子類,它被實例化並被調用來執行一些邏輯並決定是否顯示一個UIAlertView。 MyCustomObject實現UIAlertViewDelegate協議來執行一些更多的邏輯並在alertView中設置一些NSUserDefaults:clickedButtonAtIndex :. 哪裏可以發佈myCustomObject?如果在用戶單擊警報視圖中的某個按鈕後不再需要myCustomObject,則myCustomObject在alertView:didDismissWithButtonIndex:?中釋放自身即可。我是符合UIAlertViewDelegate協議的NSObject - 是否適合釋放自己?
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
NSLog(@"I'm UIAlertView's Delegate and I'm releasing myself");
[self release];
}
不列顛哥倫比亞省,每當我這樣做,我覺得我是一個可卡因癮君子也喝醉了。這太亂了......「嘿,你,請釋放我,好嗎?」我不知道。 – Fattie 2011-03-29 20:43:38
爲什麼不直接讓它釋放自我 - 如果它是一個獨立的邏輯塊,爲什麼要構建額外的層來釋放它? – SVD 2011-03-29 20:45:49
感謝BoltClock,你的技術使得靜態分析器也很開心(目前它認爲我正在泄漏,因爲調用代碼不會釋放myCustomObject)。調用代碼是一個視圖控制器。將iCustomObject設置爲ivar是否會更加整潔,並將其釋放到視圖控制器的dealloc方法中? – MattyG 2011-03-29 21:53:45