对于这种情况,我强烈建议使用 Cocoa Bindings;这实际上是使用绑定的更简单方法之一。
使用绑定,可以为您处理用户界面同步。这意味着您实际上不需要查询单选按钮的状态;您只需查询按钮绑定到的属性。
您只需要属性,而不是实现操作方法。例如,- (BOOL) radio1;
, - (void) setRadio1:(BOOL) flag;
, - (BOOL) radio2;
and - (void) setRadio2:(BOOL) flag;
(但给这些方法起更好的名字)。您可以@property
在更高版本的 Objective-C 中使用这些。BOOL
在您的班级中为每个字段放置字段。
编辑 NIB/XIB 文件时,可以将属性分配给单选按钮。
根据键值编码的规则,self.radio1
是一条路径,隐含地表示方法radio1
和setRadio1
都被调用。如果您将它们重命名为其他名称,请相应地调整路径名称。
编辑 NIB/XIB 时,依次选择 NSMatrix 的每个 Button Cell 并设置适当的绑定:
- 将值绑定设置为“文件的所有者”(如果这是实现属性的地方)。
- 使用适当属性的键路径(
self.radio1
或者self.radio2
,如果您有上述示例方法)。
NSMatrix 已经设置为一次只允许一个值,因此属性值将受到类似限制。