CoreDataBooks サンプル アプリをカスタマイズし、Bools のホスト全体を追加しています。基本的にはレストランアプリにしていますので、「ディナー」「シーフード」「カクテル」「キッズフレンドリー」などはBool値にしたいと思っています。
Detailview Controller でアイテム (本) を選択し、CoreData の Bool 値を変更できます。
self.book.seafood = NO;
また
self.book.seafood = YES;
これらの値はそれぞれ独自のボタンで切り替えられます (実際には私のアプリではチェックボックスのように見えます)
ただし、60 個または 80 個の Bool が存在する可能性があり、後でさらに追加したいので、タグを使用するかパラメーターを渡すすべての関数に使用できる 1 つの関数を作成したいと思います。みたいなことを書きたいのですが、一歩抜けているような気がします。self.book.button にパラメーターを渡せないことは明らかです。
-(IBAction) switchValue:(*UIButton)button{
tmpBool = self.book.button
if (tempBool == YES) {
self.book.button = NO;
UIImage *buttonImage = [UIImage imageNamed:@"checkOff.png"];
[self.button setImage:buttonImage forState:UIControlStateNormal];
NSLog(@"nwSwitched to NO");
}
else{
self.book.button = YES;
UIImage *buttonImage = [UIImage imageNamed:@"checkOn.png"];
[self.button setImage:buttonImage forState:UIControlStateNormal];
NSLog(@"nwSwitched to YES");
}
As it stands now, the only way I can make it work is with a huge series of if/thens or with switch, but I know there must be a more elegant way.