cocoa - 如何执行操作来响应添加到 NSArrayController 内容的项目?

标签 cocoa nsarraycontroller first-responder

我有一个 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/

相关文章:

cocoa - 在 Xcode 中登录 AppleScriptObjC

cocoa - 'cat' 命令的 NSTask 问题

swift - 如何以编程方式使用 NSArrayController 对 NSTableView 进行排序?

objective-c - UIResponder 类和第一响应者角色

iPhone 急救人员

cocoa - 想要更改 NSPopover 的不透明度 - 可能吗?

objective-c - 将图像从文件夹加载到 ikimagebrowser 中?

objective-c - NSTableView的行号

objective-c - 如何在cocoa应用程序中获取NSArray Controller 返回的结果数?

macos - 如何防止我的搜索字段成为弹出窗口中的初始第一响应者?