【发布时间】:2012-01-25 20:43:42
【问题描述】:
我想知道在使用 ARC 时如何编写 - tabliView:didSelectRowAtIndexPath: 方法。
使用 ARC 我可以这样做:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.addContactsVC == nil) {
self.addContactsVC = [[AddContactsViewController alloc] initWithNibName:nil bundle:nil];
}
[self.navigationController pushViewController:self.addContactsVC animated:YES];
}
我想知道的是,我将视图控制器保存为类变量是否开销太大。我认为如果每次我想将视图控制器推入堆栈而不是每次我想推入视图控制器时都分配一个新的视图控制器是否是“好习惯”?
也许我应该这样做?:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
AddContactsViewController *addContactsVC = [[AddContactsViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:addContactsVC animated:YES];
}
【问题讨论】:
标签: objective-c cocoa-touch uinavigationcontroller automatic-ref-counting