Objective c NSTextField如何知道它';s值发生了变化?
我有一个文本字段,可以手动编辑,也可以通过另一个控件设置。(这是一个页码,因此您可以通过键入16跳转到第16页,也可以使用next/prev按钮上下翻页)我将文本字段的值绑定到一个int page变量 它似乎工作正常,当您在中键入页码时,它会跳转,当您上下翻页时,文本框中的页码会相应更改 然而,在某种程度上,当我上下翻页时,文本框似乎不知道它的值已更改,因为如果我键入1,它不会做任何事情。它不调用绑定集方法或任何东西。看起来文本字段在想“我已经是1了,所以我什么都不需要做。”即使是5,因为我打了4次。如果我输入一个不是1的数字,它就会出现。如果我输入1,它会转到第1页,因为现在它认为它在另一页上 问题似乎是我正在通过编程更改文本字段的值,但某些部分没有收到消息 这似乎是一个合理的解释吗?不管怎样,你知道是什么引起的吗Objective c NSTextField如何知道它';s值发生了变化?,objective-c,cocoa,nstextfield,Objective C,Cocoa,Nstextfield,我有一个文本字段,可以手动编辑,也可以通过另一个控件设置。(这是一个页码,因此您可以通过键入16跳转到第16页,也可以使用next/prev按钮上下翻页)我将文本字段的值绑定到一个int page变量 它似乎工作正常,当您在中键入页码时,它会跳转,当您上下翻页时,文本框中的页码会相应更改 然而,在某种程度上,当我上下翻页时,文本框似乎不知道它的值已更改,因为如果我键入1,它不会做任何事情。它不调用绑定集方法或任何东西。看起来文本字段在想“我已经是1了,所以我什么都不需要做。”即使是5,因为我打了
谢谢解决方案:为了让textfield正常工作,我需要通过绑定实例变量执行所有操作 问题是“page”实例变量实际上并不存在,有一个page方法和一个setPage方法,但实际的页面保存在别处。当我确保从next/prev代码调用setPage方法时,它似乎可以工作