该文件是在Objective-C的旧项目中创建的。
NSKeyedArchiver* archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:dataForWrite];
[archiver encodeObject:dictVer forKey:@"cityVersionDict"];
[archiver finishEncoding];
BOOL flag = [dataForWrite writeToFile:path atomically:YES];
我想通过以下代码在Swift4.0的新项目中读取此文件:
do {
let data = try Data.init(contentsOf: path)
} catch {
print(error)
}
然后捕获错误:错误域= NSCocoaErrorDomain代码= 256“无法打开文件“ cityVersionDict.archiver”。UserInfo = {NSURL = / Users / sam / Library / Developer / CoreSimulator / Devices / 51CD0088-EE62-4ED0-8660-4C6486BC7823 / data / Containers / Data / Application / 5740ADE1-4930-4968-B86F-7E2F5F99F5F8 / Library / Caches / cityVersionDict.archiver}
在Objective-C中,该文件可以正常读取。我已经仔细检查了路径是否正确。但仍然捕获错误。请帮助,谢谢
我觉得这个问题是有关URL
。
在URL
必须使用init(fileURLWithPath: String)
创建,
然后Data(contentsOf: URL)
可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句