我使用iCloudDocumentSync库在iCloud(iCloud Container)中存储/检索文件。我有NSArray对象,我将此数组转换为NSData:
NSKeyedArchiver.archivedDataWithRootObject(foundationArray)
并将文件存储到iCloud。一切正常。
当我检索到这个文件,并尝试将NSData转换为NSArray时,我有错误:
iCloud.sharedCloud().retrieveCloudDocumentWithName(backupName, completion: { (document, data, error) -> Void in
if error == nil {
print(document.fileURL)
// let addressBook = NSKeyedUnarchiver.unarchiveObjectWithFile(document.fileURL.URLString)
let addressBook = NSKeyedUnarchiver.unarchiveObjectWithData(data)
print(addressBook)
progressHUD.hide(true)
}
})
Eror:
*** Terminating app due to uncaught exception 'AutocodingException', reason: 'Expected 'url' to be a NSURL, but was actually a __NSCFString'
*** First throw call stack:
(0x185cc822c 0x19799c0e4 0x185cc816c 0x1003354f0 0x1003355c8 0x186b40d98 0x186b47fd0 0x186ad67d8 0x186b40d98 0x186b401b4 0x186b43154 0x186b42fec 0x10033540c 0x1003355c8 0x186b40d98 0x186b47fd0 0x186ad67d8 0x186b40d98 0x186b401b4 0x186b3f3dc 0x1000bdfc8 0x1000bcdf4 0x10076a0d0 0x101878fd4 0x101878f94 0x10187dc28 0x185c7f544 0x185c7d5ec 0x185ba8f74 0x18f6036fc 0x18a7aad94 0x1000cccd0 0x198046a08)
libc++abi.dylib: terminating with uncaught exception of type NSException
答案 0 :(得分:0)
你必须将你的网址转换为NSURL,你要传递给接受NSURL的参数类型。
let UrlToUse = NSURL(string: url)