2

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

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

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

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

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

有谁知道这是为什么?发生了什么以及观察该领域以了解何时有效何时无效的好方法是什么?

4

0 回答 0