(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window addSubview:rootController.view];
[self.window makeKeyAndVisible];
[[controlfile alloc]scedule1];
return YES;
}在构建和分析时,我得到了在[controlfile allocscedule1]上分配的对象的潜在泄漏
发布于 2011-03-01 13:36:42
[[controlfile alloc]scedule1];这是分配类controlfile的一个实例,然后在分配的对象上调用scedule1。(请注意,它还没有初始化;您应该首先通过调用init来初始化它)。那么这个对象(你分配的)就再也不会被引用了。因此,你已经泄露了它。
你真的需要这样做:
id controlfile = [[ControlFile alloc] init];
[controlfile scedule1];
[controlfile release];这里假设ControlFile是一个类。如果它是一个实例变量(如代码中的全部小写文本和缺少声明所示),那么您需要这样:
controlfile = [[WhateverTheDeclaredClassOfControlFileIs alloc] init];
[controlfile scedule1];
// In the -dealloc method, call this:
[controlfile release];每次调用alloc时,都必须在处理完对象后调用release或autorelease。您没有在这里这样做,因此您已经泄漏了对象。
https://stackoverflow.com/questions/5150807
复制相似问题