(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:rootController.view];
[self.window makeKeyAndVisible];
[[controlfile alloc]scedule1];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
当我构建和分析时,我在[[controlfile alloc] scedule1]上分配了一个对象的潜在泄漏
[[controlfile alloc]scedule1];
Run Code Online (Sandbox Code Playgroud)
这是分配一个类的实例,controlfile然后调用scedule1已分配的对象.(请注意,它尚未初始化;您应该首先通过调用初始化它init).然后再次引用对象(您分配的对象).因此,你已经泄露了它.
你真的需要做这样的事情:
id controlfile = [[ControlFile alloc] init];
[controlfile scedule1];
[controlfile release];
Run Code Online (Sandbox Code Playgroud)
这假设ControlFile是一个类.如果它是一个实例变量(由代码中的全小写文本和缺少声明表示),那么你想要这个:
controlfile = [[WhateverTheDeclaredClassOfControlFileIs alloc] init];
[controlfile scedule1];
// In the -dealloc method, call this:
[controlfile release];
Run Code Online (Sandbox Code Playgroud)
对于每次调用alloc,您必须调用其中一个release或autorelease完成对象.你不是在这里做的,因此你泄露了这个对象.
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |