- (void)viewDidLoad //In this scenario it only gets called once, but in other bits of code with same property initialisation it might be called more than once
{
deleteButton = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(deleteModelTapped:)]; //Is this leaking?
self.deleteButton.image = [UIImage imageNamed:[Configuration getDeleteIconName]];
}
@property (nonatomic, retain) IBOutlet UIBarButtonItem *deleteButton;
- (void)dealloc
{
[deleteButton release];
[super dealloc];
}
0
A
回答
2
NOP,但写这样也许更好
- (void)viewDidLoad
{
self.deleteButton = [[[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(deleteModelTapped:)] autorelease];
self.deleteButton.image = [UIImage imageNamed:[Configuration getDeleteIconName]];
}
而setProperty扩大可喜欢这个
- (void)setProperty:(XXX*)p
{
if (property != p)
{
[property release];
property = [p retain];
}
}
“泄密”,也许用 “[UIImage的imageNamed:]”; :)
+0
所以,如果这个viewDidLoad反复运行,它不会泄漏,因为该属性总是只保留一次? – TheLearner 2012-04-18 15:45:01
+0
是的,设置属性将自动释放前变量 – adali 2012-04-18 15:45:49
+0
不要忘记设置你的属性nil viewDidUnload – 2012-04-18 15:57:31
相关问题
- 1. System.Diagnostics.EventLog是否泄漏内存?
- 2. 分配属性时泄漏内存工具无法检测到泄漏,因此泄漏是否存在?
- 3. 是否引用静态属性导致内存泄漏
- 4. IBOutlet,是否使用会员属性?内存泄漏?
- 5. 内存泄漏和类属性
- 6. NSMutableArray和属性泄漏内存
- 7. 是否存在NSCFTimer内存泄漏?
- 8. 间歇性内存泄漏
- 9. node.js 0.2.5是否泄漏内存?
- 10. fdopen()是否会导致内存泄漏?
- 11. 新对象是否有内存泄漏?
- 12. 这是否会导致内存泄漏?
- 13. 是否addEventListener导致内存泄漏?
- 14. 此代码是否会泄漏内存?
- 15. 这是否会导致内存泄漏?
- 16. NSNumberFormatter是否可能泄漏内存?
- 17. 这是否会导致内存泄漏?
- 18. 它是否有内存泄漏?
- 19. 这是否会造成内存泄漏?
- 20. sqlite3_exec是否有内存泄漏?
- 21. node.removeChild(node.firstChild)是否创建内存泄漏?
- 22. Application.terminate是否会导致内存泄漏?
- 23. Async.StartChild是否有内存泄漏?
- 24. 内存泄漏:
- 25. 内存泄漏
- 26. 内存泄漏
- 27. 内存泄漏
- 28. 内存泄漏
- 29. 内存泄漏
- 30. 内存泄漏:
您是否启用了ARC?另外,您可能需要阅读仪器 – 2012-04-18 15:37:05
我没有使用ARC – TheLearner 2012-04-18 15:40:05
我已经尝试过使用仪器和它的混淆 – TheLearner 2012-04-18 15:40:26