我正在使用Xcode中的应用程序,我需要一些帮助。
- (IBAction)test:(id)sender {
game *test = [[game alloc] initWithNibName: nil bundle: nil];
[self presentViewController:test animated:YES completion:nil];
}
我收到以下错误,我不知道如何修复它。
存储在“test”中的对象的潜在泄漏
答案 0 :(得分:0)
如果不使用ARC,则应autorelease
您的对象:
game *test = [[[game alloc] initWithNibName: nil bundle: nil] autorelease];
当您出示控制器时,它将保留给您,但当您解除它时,它将自动为您释放。您当前的代码可能会导致泄漏(除非您在其他地方手动release
)。在autorelease
之后使用release
(或明确presentViewController
)将阻止警告和泄漏。
答案 1 :(得分:0)
如果你没有使用ARC,那么你需要autorelease
objcet。
当您进行objcet时,它的reatin count
会增加1.但是在您的工作完成后,您的保留计数不会减少,这就是发生此错误(泄漏)的原因。因此,如果您使用了自动释放,那么autorelease pool
在解除视图控制器后会管理您的保留计数会减少retain count
。