2010-11-29 101 views
1

我有點理解爲什麼我得到這個分析器警告。因爲我使用的是正在傳入的對象。我試過autoreleaseretain但是這些會導致我遇到其他問題,如unrecognized selector sent to instanceiPhone,方法返回+1保留計數的客觀c對象

我的CommonUI功能的目的是重新使用代碼,但我不得不迎合addSubViewpresentModalViewController

也許我在做一些明顯的錯誤?

alt text

+0

需要看你的HelpViewController的initWithNibName:包:的onpage:方法的代碼請 – 2010-11-29 11:01:43

+0

希望你不介意,但我已經改善你的代碼縮進有點 – JeremyP 2010-11-29 11:44:57

回答

1

這裏有兩個問題。

首先,如果您撥打[vc release](如其他答案所示),那麼您肯定會使分析儀很高興,但可能會導致應用程序崩潰。視圖控制器的視圖不保留控制器,因此視圖中的任何按鈕目標都將指向垃圾。

只要它在屏幕上顯示,您將需要保持HelpViewController保持不變。 「父」視圖控制器應該可能以某種方式保留它。你可以autorelease它,並返回它。然後,無論誰撥打showHelpClick...都會保留返回的控制器。

其次,您不需要將(UIViewController *)vc作爲參數傳入。

2

更改您這樣的代碼:

HelpViewController *helpvc = [[HelpViewController alloc] init....]; 
[vw addSubview:helpvc.view]; 
[helpcv release]; 

我覺得你並不需要通過其他的VC。

+0

這會崩潰的應用程序如果從HelpViewController視圖的子視圖的任何事件都有HelpViewController作爲它們的目標。 – Jason 2010-11-30 14:52:41

相關問題