我有點理解爲什麼我得到這個分析器警告。因爲我使用的是正在傳入的對象。我試過autorelease
和retain
但是這些會導致我遇到其他問題,如unrecognized selector sent to instance
。iPhone,方法返回+1保留計數的客觀c對象
我的CommonUI功能的目的是重新使用代碼,但我不得不迎合addSubView
和presentModalViewController
。
也許我在做一些明顯的錯誤?
我有點理解爲什麼我得到這個分析器警告。因爲我使用的是正在傳入的對象。我試過autorelease
和retain
但是這些會導致我遇到其他問題,如unrecognized selector sent to instance
。iPhone,方法返回+1保留計數的客觀c對象
我的CommonUI功能的目的是重新使用代碼,但我不得不迎合addSubView
和presentModalViewController
。
也許我在做一些明顯的錯誤?
這裏有兩個問題。
首先,如果您撥打[vc release]
(如其他答案所示),那麼您肯定會使分析儀很高興,但可能會導致應用程序崩潰。視圖控制器的視圖不保留控制器,因此視圖中的任何按鈕目標都將指向垃圾。
只要它在屏幕上顯示,您將需要保持HelpViewController
保持不變。 「父」視圖控制器應該可能以某種方式保留它。你可以autorelease它,並返回它。然後,無論誰撥打showHelpClick...
都會保留返回的控制器。
其次,您不需要將(UIViewController *)vc
作爲參數傳入。
更改您這樣的代碼:
HelpViewController *helpvc = [[HelpViewController alloc] init....];
[vw addSubview:helpvc.view];
[helpcv release];
我覺得你並不需要通過其他的VC。
這會崩潰的應用程序如果從HelpViewController視圖的子視圖的任何事件都有HelpViewController作爲它們的目標。 – Jason 2010-11-30 14:52:41
需要看你的HelpViewController的initWithNibName:包:的onpage:方法的代碼請 – 2010-11-29 11:01:43
希望你不介意,但我已經改善你的代碼縮進有點 – JeremyP 2010-11-29 11:44:57