[英]Potential leak of an object stored into “test”
我正在使用Xcode开发应用程序,需要一些帮助。
- (IBAction)test:(id)sender {
game *test = [[game alloc] initWithNibName: nil bundle: nil];
[self presentViewController:test animated:YES completion:nil];
}
我收到以下错误,但我不知道如何解决。
存储在“测试”中的对象的潜在泄漏
如果不使用ARC,则应autorelease
对象:
game *test = [[[game alloc] initWithNibName: nil bundle: nil] autorelease];
当您提供控制器时,它将为您保留,但是当您关闭它时,它将为您自动释放。 您当前的代码可能会导致泄漏(除非您在其他地方手动release
)。 使用autorelease
(或在presentViewController
之后显式release
)将防止警告和泄漏。
如果不使用ARC,则需要autorelease
objcet。
当您制作objcet时,其reatin count
将增加1。但是在完成工作后,保留计数不会减少,这就是发生此错误(泄漏)的原因。 因此,如果您使用了自动释放,则autorelease pool
在关闭视图控制器后减少retain count
从而管理您的retain count
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.