我有一个可以手动编辑或通过另一个控件设置的文本框。 (这是一个页码,所以你可以通过输入16来跳转到第16页,或者你可以使用next/prev按钮来上下翻页)我将文本字段的值绑定到一个int页面变量。NSTextField如何知道它的值已更改?
它似乎工作正常,当您键入页码时,它会跳转,当您向上和向下翻页时,文本框中的页码会相应更改。
但是,在某种程度上,当我上下翻页时,文本框似乎并不知道它的值已更改,因为如果我键入1,它不会执行任何操作。它不会调用绑定的set-method或任何东西。看起来textfield在想:“我已经是1了,所以我不需要做任何事情。”即使它是5,因为我接下来打了4次。如果我输入1以外的数字,它会到达那里。如果我那么键入1,它会转到第1页,因为现在它认为它在另一页上。
这个问题似乎是我正在以编程方式更改文本字段的值,但有些部分没有收到消息。
这似乎是一个合理的解释吗?无论哪种方式,对于造成它的原因有什么想法?
感谢