我正在尝试保存一个名为“ TopTenData”的用户创建的类的数组。我使用的代码如下。运行代码表明文件已创建,但未创建文件。当我导航到路径时,找不到所需的文件。任何帮助,将不胜感激。
func writeArrayToPlist(array: [TopTenData]) {
if let arrayPath: String = createArrayPath() {
(array as NSArray).writeToFile(arrayPath, atomically: false)
print("Array written successfully")
print(arrayPath) // navigating this path shows no files
}
}
func createArrayPath () -> String? {
if let docsPath: String = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true).last {
return ((docsPath as NSString).stringByAppendingPathComponent("myTopTenData") as NSString).stringByAppendingPathExtension("plist")
}
return nil
}
最佳答案
NSArray的writeToFile方法有一些限制。例如,它仅支持以下数据类型:
NSString
NSData
NSDate
NS编号
NSArray
NSDictionary
对于自定义数据类型,可以使用NSKeyedArchiver和NSKeyedUnarchiver
See this post