1

我有一个实现NSOpenSavePanelDelegate协议并与 NSOpenPanel 相关联的类。

NSLog()- (void)panelSelectionDidChange:(id)sender方法中加入了 a 并注意到以下内容:

当我第一次选择一个文件时,panelSelectionDidChange它被调用,并检查[sender URL]我得到所选文件的 URL,但是当我选择另一个文件时, panelSelectionDidChange被调用两次,第一次[sender URL]有最后一个 URL,第二次调用[sender URL]它的 URL新选择的文件。

但是,如果我使用键盘箭头选择文件而不是单击它,panelSelectionDidChange则只会使用正确的 URL 调用一次。

这是正常行为还是我做错了什么?

4

1 回答 1

0

我也遇到了这个问题,我注意到这只发生在打开面板处于浏览器模式时,而不是列表、图标或预览(不确定这些是官方名称)。用户可以使用面板左上角的按钮更改此设置。

我相信第一次调用发生在您第一次选择项目时,第二次调用发生在浏览器右侧显示预览时。

不完全是我知道的解决方案,但可能这些信息会有所帮助。

于 2013-03-30T22:10:30.027 回答