我试图让用户从包含日志文件的文件夹中选择一个文件。因此我想显示一个NSOpenDialog,显示该文件夹的内容。我使用的是Swift,因此10.9+
我在这里看到了许多关于这个主题的线索,但是尽管尝试了转换成Swift的相同代码,它还是总是返回到Documents文件夹。
let fd: NSOpenPanel = NSOpenPanel()
fd.directoryURL = NSURL.fileURLWithPath("~/LauncherLogs", isDirectory: true)
fd.canChooseDirectories = false
fd.canChooseFiles = true
fd.allowedFileTypes = ["log"]
fd.runModal()
有问题的文件夹确实存在,复制并粘贴路径到Finder中的“转到文件夹...”就在那里。有什么想法吗?
2条答案
按热度按时间hc8w905p1#
您需要扩展
tilde
,NSString有一个手动方法来实现此操作,因此:+1赞成马丁提到它。
b09cbbtk2#
approved answer的2022版本:
.stringByExpandingTildeInPath
→.expandingTildeInPath
.file
→.fileURL