我需要在NSBrowser中使用当前选定的路径更新NSPathControl,但是当路径从NSBrowser更改时,我无法找到获取通知的方法.执行此操作的理想方法是观察NSBrowser中的路径键路径,但这使得KVO只能观察
返回void消息且没有更新的set 方法(setPath返回bool成功值).
我也试过观察selectedCell密钥路径,但是当选择更改时我没有收到通知.
有没有其他一些非常明显的方法可以做到这一点,我错过了?
感谢Rob Keniger在Cocoa Dev:
您是否查看了/ Developer/Examples中的SimpleBrowser示例?它显示了当用户更改当前选择时如何获取当前选择,基本上只需设置NSBrowser的操作即可.
这确实是这样做的方式.只需实现一个 - (void)broswerClicked:方法(包括在接口构建器中映射它),以及每次在该方法中选择更改时想要发生的任何事情,例如
- (void)browserClicked:(id)browser { self.pathToSelectedCell = [browser path]; // NSPathControl is bound to pathToSelectedCell }