我想创建一个可以选择任何类型文件的NSOpenPanel
,所以我这样做
NSOpenPanel* panel = [NSOpenPanel openPanel];
if([panel runModalForTypes:nil] == NSOKButton) {
// process files here
}
允许我选择除符号链接之外的所有文件
它们根本不可选择而且显而易见setResolvesAliases
什么都不做。
是什么给出了?
更新1:我做了一些测试,发现这种陌生感 存在于Leopard(10.5.5)但不存在于Tiger(10.4.8)中。
更新2:上面的代码可以选择mac别名(持久路径
存在于资源分支中的数据,但不是符号链接(使用ln -s创建的文件)。
答案 0 :(得分:1)
我无法重现这一点。我刚尝试过,它运行得很好。如果符号链接指向一个目录,它会在我选择符号链接时显示目录内容,如果符号链接指向一个文件,我也可以选择它。
当然,如果符号链接指向目录,则只能在选择目录时选择它
NSOpenPanel * panel = [NSOpenPanel openPanel];
[panel setCanChooseDirectories:YES];
if ([panel runModalForTypes:nil] == NSOKButton) {
NSLog(@"%@", [panel filenames]);
}
答案 1 :(得分:0)
您的代码示例也适用于我 - 如果重要的话,我正在使用10.5.5和XCode 3.1。
如果别名是目录,我无法选择别名,因为它解析为它所指向的目录,而不是别名本身(默认情况下,面板似乎解析了别名)。不过,我能够为文件选择一个别名。