每当“_ currentField”(带有数字格式化程序的文本字段)的值大于或等于1000时,我想要显示“_congrats”(这是一个面板),当它小于1000时,我想要“ _errormsg“(另一个小组)出现。每次我输入任何值时,弹出的唯一内容是“_errormsg”。我做错了什么?
- (void)onTimer:(NSTimer*)aTimer {
if ([_currentField.stringValue integerValue] >= 1000)
{
[_congrats orderFront:(id)self];
[_progIndicator stopAnimation:(id)self];
}
else {
[_errormsg orderFront:(id)self];
[_progIndicator stopAnimation:(id)self];
}
}
答案 0 :(得分:0)
由于您使用的是格式化程序,因此需要请求格式化程序解析该值。
formatter
的{{1}}方法(NSCell
继承自)返回格式化程序对象。 NSTextFieldCell
的{{1}}方法返回相应的数值。
在这种情况下,将文本字段的字符串值传递给格式化程序的numberFromString:
,您应该会看到NSNumberFormatter
之类的内容变为numberFromString:
(作为整数)。