为什么NSTextField和NSNumberFormatter的这种观察改变了行为?

时间:2013-08-20 19:00:57

标签: cocoa nstextfield nsnotifications nsnumberformatter

我有NSTextFieldNSNumberFormatter限制输入到有效浮点数。因为用户可以在字段中键入字母,使其无效(您会发出哔哔声并且无法离开字段),我希望在字段发生任何变化时收到通知,因此我可以禁用字段无效时的其他UI元素。我注册了一个通知:

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(myNotif:) 
    name:NSControlTextDidChangeNotification object:nil];

但我看到一些奇怪的行为。如果在我的通知回调中,我要求双倍值。

- (void)myNotif:(NSNotification*)not {
    printf("  val = %f\n", _theTextField.doubleValue);

它改变了文本字段的行为。我不能再输入小数点了。

任何人都知道为什么会这样吗?发生了什么以及观察该领域以了解其何时有效以及何时无效的好方法是什么?

0 个答案:

没有答案