在
Swift 3 / Xcode8.1 / 10.12.2中我试图使用NSOpenPanel来获取带有以下代码的文本文件,由DenBeke编写
@IBAction func browseFile(sender: AnyObject) { let dialog = NSOpenPanel(); dialog.title = "Choose a .txt file"; dialog.allowedFileTypes = ["txt"]; if (dialog.runModal() == NSModalResponSEOK) { let result = dialog.url // Pathname of the file if (result != nil) { let path = result!.path print("browseFile path: \(path)") //filename_field.stringValue = path } } else { // User clicked on "Cancel" return } }
代码按预期打开一个打开的对话框,我可以选择一个文件.单击打开按钮会使应用程序崩溃.在控制台中,我得到:
FI_TFloatingInputwindowController object 0x60800009c0c0 overreleased while already deallocating; break on objc_overrelease_during_dealloc_error to debug
当我运行代码并打开对话框时,我得到了控制台
[default] [ERROR] Failed getting container for URL: file:///Users/ruediheimlicher/Documents/LoggerdataDir/Messungen/,error: Error Domain=BRCloudDocsErrorDomain Code=12 “App library not found: ‘com.apple.Documents'” UserInfo={NSDescription=App library not found: ‘com.apple.Documents’}
但这不会影响应用程序.
在网络上有更多NSOpen或NSSave对话框的示例,代码略有不同,但每个人都得到相同的结果:崩溃,以及控制台上完全相同的错误.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。