[英]Release allocated objects(Method retains objective-c object with +1 retain count)
[英]iPhone, method returns an objective-c object with a +1 retain count
我有点理解为什么收到此分析仪警告。 因为我使用的是传入的对象,所以尝试了autorelease
并retain
这些内容,但是这导致了其他问题,例如unrecognized selector sent to instance
。
我的CommonUI函数的目的是重用代码,但是我必须迎合addSubView
和presentModalViewController
。
也许我在做一些明显的错误?
像这样更改代码:
HelpViewController *helpvc = [[HelpViewController alloc] init....];
[vw addSubview:helpvc.view];
[helpcv release];
我认为您不需要通过其他VC。
这里有两个问题。
首先,如果您调用[vc release]
(如其他答案所示),则可以使分析仪满意,但可能会使应用程序崩溃。 视图控制器的视图不会保留该控制器,因此视图中的任何按钮目标都将指向垃圾。
您需要以某种方式将HelpViewController
保留到屏幕上。 “父”视图控制器可能应该以某种方式保留它。 您可以自动释放它,然后将其返回。 然后,调用showHelpClick...
任何人都将保留返回的控制器。
其次,您不需要传递(UIViewController *)vc
作为参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.