我有点理解为什么我会收到这个分析仪警告。因为我正在使用正在传入的对象。我已尝试autorelease
和retain
但是这些会导致其他问题,例如unrecognized selector sent to instance
。
我的CommonUI功能的目的是重用代码,但我必须满足addSubView
和presentModalViewController
。
也许我在做一些明显的错误?
答案 0 :(得分:2)
更改您的代码:
HelpViewController *helpvc = [[HelpViewController alloc] init....];
[vw addSubview:helpvc.view];
[helpcv release];
我认为你不需要传递其他VC。
答案 1 :(得分:1)
这里有两个问题。
首先,如果你打电话给[vc release]
(正如其他答案建议的那样),你肯定会让分析仪开心,但可能会使应用程序崩溃。视图控制器的视图不会保留控制器,因此视图中的任何按钮目标都将指向垃圾。
只要屏幕上显示HelpViewController
,您就需要以某种方式保留showHelpClick...
。 “父”视图控制器应该以某种方式保留它。你可以自动释放它,并将其返回。然后,任何调用(UIViewController *)vc
的人都将保留返回的控制器。
其次,您不需要将{{1}}作为参数传入。