【发布时间】:2011-08-19 08:45:54
【问题描述】:
我对 objc 真的很陌生,我正在尝试尽可能多地理解并在内存管理方面获得良好的例程。
我的问题是这样的代码是否危险(我喜欢短代码)
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject:[[UIBarButtonItem alloc]
initWithTitle:@"Login"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(tryUserInput)]];
[self.toolbar setItems:items animated:TRUE];
[self.view addSubview:self.toolbar];
[items release];
在示例中,我发现人们总是创建他们添加到数组中的对象,添加它然后释放它。如果我同时分配并添加它,数组会处理它吗?当我完成它时,我会发布它。另外,我可以这样写吗?
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"注销" 样式:UIBarButtonItemStyleDone 目标:无 行动:无];
或者我应该在那个上附加一个自动释放?
如果我理解正确的话,因为“navigationitem”是一个属性,它会保留对象并处理它。并且该数组保留了我添加到其中的所有对象。所以一切都应该没问题吗?
感谢您的帮助
【问题讨论】:
标签: iphone objective-c release retain