将BOOL值绑定到NSArrayController

时间:2013-02-22 05:25:22

标签: objective-c cocoa nstableview nsarraycontroller nsbuttoncell

我有一个与数组控制器绑定的tableview。表视图中有两列,一个是字符串,另一个是BOOL。我在tableview中获取字符串值。为了在NSButtonCell中显示BOOL值,我遇到了问题。选择了按钮单元格,其中值为“否”,未选中的值为“是”。我已将值变换器作为“NSNegateBoolean”给予绑定中的BOOL列。我知道,这个问题是由于我给了“NSNegateBoolean”。但是没有选项像 “NSBoolean”获取准确的值。如果有人知道,请引导我去做。这个应用程序是在可可,而不是在iPhone中。

先谢谢。

2 个答案:

答案 0 :(得分:0)

你的意思是你不能直接将BOOL值绑定到NSArray吗?

你能尝试 NSNumber NSCFBoolean吗?

@(YES) or @(NO).

BOOL boolValue = YES;
@(boolValue)

,例如

NSDictionary *row1 = @{@"title":@"row1",@"value":@(YES)};
NSDictionary *row2 = @{@"title":@"row2",@"value":@(NO)};
NSArray *tableContentArray = @[row1,row2];

tableContentArray是绑定到ArrayController的那个。

答案 1 :(得分:0)

NSNegateBoolean变换器所做的就是在界面中反映它们之前反转绑定值,当然是可选的。如果您不需要否定值,则不要使用变压器。所以,删除NSNegateBoolean,你应该好好去。