我创建了一个 IBAction,如下所示:
- (IBAction)okButton:(id)sender {
NSLog(@"%d",[sender intValue]);
}
当我反复单击按钮时,代码打印出 1,0,1,0,1,0。我想知道发件人的 intValue 的含义。引用是 以 int 形式返回接收者的值。但我不知道这不是什么意思。
我创建了一个 IBAction,如下所示:
- (IBAction)okButton:(id)sender {
NSLog(@"%d",[sender intValue]);
}
当我反复单击按钮时,代码打印出 1,0,1,0,1,0。我想知道发件人的 intValue 的含义。引用是 以 int 形式返回接收者的值。但我不知道这不是什么意思。
那将是 NSButton 状态,它是一个 NSInteger,但您应该改用这个枚举:
enum {
NSMixedState = -1,
NSOffState = 0,
NSOnState = 1
};
该按钮通常会一直存在,NSOffState
直到您单击它并更改为NSOnState
,然后下一次单击将其再次更改回 - 对于一个简单的按钮,您不会在视觉上看到此状态,但对于某些按钮类型(如复选框),会显示状态视觉上。
这里sender
将是你的NSButton
,使用它会更正确,state
而不是intValue
(但你需要NSButton
先将它转换为)。