- (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