使用 xibs,您可以调用不同的初始化程序:
- (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;
}
我现在正在尝试使用情节提要:
- 有没有一种在不暴露变量或任何其他实现的情况下从 prepareForSegue 设置变量的好方法?
- 如何设置默认值?
请尽可能明确