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;
}
私は今、ストーリーボードを操作しようとしています:
- 変数やその他の実装を公開せずに、prepareForSegue から変数を設定する良い方法はありますか?
- デフォルト値を設定するにはどうすればよいですか?
できるだけ明確にしてください