【发布时间】:2012-07-30 13:24:33
【问题描述】:
我创建了一个 IBAction,如下所示:
- (IBAction)okButton:(id)sender {
NSLog(@"%d",[sender intValue]);
}
当我反复单击按钮时,代码打印出 1,0,1,0,1,0。我想知道发件人的 intValue 的含义。 引用是 以 int 形式返回接收者的值。 但我不知道这不是什么意思。
【问题讨论】:
标签: cocoa
我创建了一个 IBAction,如下所示:
- (IBAction)okButton:(id)sender {
NSLog(@"%d",[sender intValue]);
}
当我反复单击按钮时,代码打印出 1,0,1,0,1,0。我想知道发件人的 intValue 的含义。 引用是 以 int 形式返回接收者的值。 但我不知道这不是什么意思。
【问题讨论】:
标签: cocoa
这将是一个 NSInteger 的 NSButton 状态,但你应该使用这个枚举来代替:
enum {
NSMixedState = -1,
NSOffState = 0,
NSOnState = 1
};
该按钮通常位于NSOffState,直到您单击它并更改为NSOnState,然后下一次单击将其再次更改回 - 对于一个简单的按钮,您在视觉上看不到这种状态,但对于某些按钮类型(就像一个复选框)状态以可视方式显示。
这里的sender 将是您的NSButton,使用state 而不是intValue 会更正确(但您需要先将其转换为NSButton)。
【讨论】:
NSOnState 记录您的代码。否则没有。