快速的问题,希望我只是想念一些简单的东西。好的,我有一个类持有指向另一个的指针; 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