快速的問題,希望我只是想念一些簡單的東西。好的,我有一個類持有指向另一個的指針; MainMenuClass和NormalGameClass。 MainMenuClass內部我做了以下。現在iPhone - 保留計數 - 保留數量沒有明顯的原因
m_NormalGame = [[NormalGameMode alloc] initWithNibName:@"NormalGameMode" bundle:[NSBundle mainBundle]];
m_NormalGame.delegate = self;
[self presentModalViewController:m_NormalGame animated:YES];
,我第一次注意到每當NormalGameClass'的dealloc函數沒有被調用,所以我做了一些retainCount電話,由於某種原因,一旦它做它的方式返回到MainMenu的發佈功能,它的保留計數問題是6.進一步挖掘讓我非常困惑。在NormalGameClass中的viewDidLoad之後的第一行是[self retainCount]。4.任何人都知道這裏可能會發生什麼?我一次只調用NormalGameClass的alloc,但它被保留到6?奇怪的是,從來沒有過去。感謝您的任何見解。
更新:擺弄東西,發現這是尷尬的。在MainMenuClass,這裏是我如何擺脫NormalGame。
[self dismissModalViewControllerAnimated:NO];
m_NormalGame.delegate = nil;
[m_NormalGame release];
現在,在這個設置下,NormalGame的dealloc永遠不會被調用。但是,如果我在上面發佈的那個之後立即調用[m_NormalGame發佈],它會爲NormalGame調用dealloc ...兩次。 = /讓我感到困惑。
這些是您自己的課程還是來自其他圖書館? – 2010-08-27 21:04:57
這些是剛剛重命名的UIViewControllers。 – Midnight 2010-08-27 21:08:00