0

我正在为我正在开发的应用程序以编程方式创建自己的自定义视图模板。为了实现这一点,我有一个自定义视图控制器MyVCmyView上面添加了一个自定义视图,这是MyVC. 该类看起来像这样:

MyVC.h   
#import <UIKit/UIKit.h>

@interface MyVC : UIViewController{
MyCustomView *myView;
}

@property(nonatomic, retain) MyCustomView *myView

@end

在实现中,我想为“myView”分配背景颜色,并在 viewDidLoad 中执行类似的操作(在合成我的 corse 属性之后)

-(void)viewDidLoad{
self.myView = [[MyCustomView alloc] initWithFrame:someFrame];

self.myView.backgroundColor = [UIColor clearColor];  

}

现在,当我分析我的代码时,我在分配颜色时收到“对象可能泄漏”的消息。是因为 myView 或背景颜色或两者都被保留了吗?无论如何,我想知道如何在没有潜在泄漏的情况下正确完成此操作?

4

1 回答 1

1

如果您不使用 ARC,您应该释放保留的财产:

-(void)viewDidLoad{
//allocate and initialize myView

self.myView = [[[MyCustomView alloc] initWithFrame:someFrame] autorelease];
self.myView.backgroundColor = [UIColor clearColor];  
}
于 2012-10-16T07:25:22.750 回答