【发布时间】:2016-08-15 21:08:20
【问题描述】:
我用简单的导入/导出功能扩展了一个应用程序,它使用 plist 文件来存储导出的对象。为了保存对象,我使用了NSDictionary 和writeToURL 方法(沙盒应用)。
代码的相关部分如下所示:
savePanel.beginSheetModalForWindow(self.view.window!) { (result) in
savePanel.orderOut(nil)
if result == NSFileHandlingPanelOKButton {
let saveURL = savePanel.URL!
let values = NSMutableDictionary()
for propertyDescription in selectedEvent.entity.properties {
let propertyName = propertyDescription.name
values[propertyName] = selectedEvent.valueForKey(propertyName)
}
if !values.writeToURL(saveURL, atomically: true) {
// error handling?
}
}
}
现在我想知道如果保存文件失败,是否有办法获得详细的错误消息?
【问题讨论】:
-
writeToFile只返回一个布尔值developer.apple.com/library/watchos/documentation/Cocoa/…: -
@EricD 我完全清楚这一点。因此我的问题是:如果此方法失败,有没有办法获得详细的错误消息?
-
如果您想处理错误,可以使用 NSData 方法
func writeToURL(url: NSURL, options writeOptionsMask: NSDataWritingOptions) throws -
@LeoDabus 我找不到从
NSDictionary获取带有plist 的NSData对象的方法。我该如何进行这种转换?
标签: swift cocoa error-handling nsdictionary