gpt4 book ai didi

objective-c - NSOpenSavePanelDelegate 协议(protocol)中的方法 panelSelectionDidChange 被调用两次

转载 作者:行者123 更新时间:2023-12-03 17:24:10 25 4
gpt4 key购买 nike

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

我在 - (void)panelSelectionDidChange:(id)sender 方法中包含了 NSLog() 并注意到以下内容:

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

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

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

最佳答案

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

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

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

关于objective-c - NSOpenSavePanelDelegate 协议(protocol)中的方法 panelSelectionDidChange 被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com