我正在以编程方式为我正在处理的应用程序创建自己的自定义视图模板。为了实现这一点,我有一个自定义视图控制器MyVC,上面添加了一个自定义视图myView,这是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或背景色还是两者都保留了?
在任何情况下,id都想知道如何正确地完成此操作而又不存在潜在的泄漏?

最佳答案

如果您不使用ARC,则应释放保留的属性:

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

self.myView = [[[MyCustomView alloc] initWithFrame:someFrame] autorelease];
self.myView.backgroundColor = [UIColor clearColor];
}

关于ios - self.customView.backgroundColor分配导致泄漏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12909077/

10-13 03:54