用xib可以调用不同的初始化块。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Fetch Note...
// Initialize Edit Note View Controller with the fetched Note
EditNoteViewController *vc = [[EditNoteViewController alloc] initWithNote:note];
// Push View Controller onto Navigation Stack
[self.navigationController pushViewController:vc animated:YES];
}
这样我就可以保持变量(在EditNoteViewController中)私有化,而且可以设置变量的默认值。比如:
- (id)initWithNote:(Note *)note {
// ....
if (self) {
self.note = note;
self.isEditing = YES;
}
return self;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
//...
if (self) {
self.isEditing = NO;
}
return self;
}
现在要用storyboard,有两个问题:
1.在prepareForSegue设置变量,怎么不暴露变量或其他实现?
2.能设置默认值吗?
谢谢您的解答。