我有一个 NSArrayController
,其内容是我的 AppDelegate 的“servers
”属性。
我有一个 NSTextField
,它绑定(bind)到 NSArrayController
的“selection.name
”属性,并且我有附加到“NSArrayController
上的add:
”和“remove:
”操作。
我希望看到的情况是,当我单击“添加”按钮时,NSTextField
成为第一响应者,以便用户可以立即编辑服务器的名称。
我当前的策略是观察 NSArrayController
的“arrangedObjects
”属性,但我从 NSKeyValueChangeKindKey
返回的只是 >NSKeyValueChangeSetting
枚举。我希望获得 NSKeyValueChangeInsertion
值,这样我就可以要求文本字段成为第一响应者。
我的问题是,我是否以正确的方式处理这个问题,或者是否有更常见的方法来完成此任务?我在连接绑定(bind)方面做得很好,我只是在努力思考如何将自己的行为插入裂缝中。
最佳答案
创建 NSArrayController 的子类,并提供文本字段的导出。重写add:
方法;在您的实现中,立即将消息发送到 super
,然后告诉窗口使文本字段成为第一响应者。
关于cocoa - 如何执行操作来响应添加到 NSArrayController 内容的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892067/