当我构建和分析时,我在这一点上有潜在的泄漏

dip*_*pak 0 iphone

(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]上分配了一个对象的潜在泄漏

BJ *_*mer 7

[[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,您必须调用其中一个releaseautorelease完成对象.你不是在这里做的,因此你泄露了这个对象.