我已经自定义了 CoreDataBooks 示例应用程序,并且正在添加一整套布尔值。本质上,我正在把它变成一个餐厅应用程序,所以我想为“晚餐”“海鲜”“鸡尾酒”“儿童友好”等内容设置布尔值。
在我的 Detailview 控制器中,我选择了一个项目(书),并且可以更改 CoreData 中的 Bool 值——对于一个名为海鲜的属性,如下所示——
self.book.seafood = NO;
或者
self.book.seafood = YES;
这些值每个都使用自己的按钮进行切换(实际上看起来像我的应用程序中的复选框)
但是,因为可能有 60 或 80 个布尔值,并且我想稍后添加更多,所以我想编写一个函数,我可以将其用于所有使用标签或传递参数的布尔值。我想写这样的东西,但我觉得我错过了一步。它显然不会让我将参数传递给 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");
}
就目前而言,我可以让它工作的唯一方法是使用大量的 if/thens 或 switch,但我知道必须有一种更优雅的方式。