做了一个测试,先上代码:
ViewController.h
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
@property(nonatomic, retain)标明该属性在使用其set方法时会自动retain一次。 self.leftView = [[UIView alloc] initWithFrame:...];这条语句,alloc使其引用计数+1,同时调用leftView的set方法,引用计数再+1,引用计数一共加了2次,而实际上我们想要的效果是引用计数只加1次,所以有内存泄露。 正确的写法应该是: UIView *myView = [[UIView alloc] initWithFrame:...]; self.leftView = myView; [myView release]; 这样Analyze时就不会提示内存泄露。