未创建Swift数据文件

时间:2016-02-16 04:17:42

标签: swift file

我正在尝试保存一个名为“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
} 

1 个答案:

答案 0 :(得分:0)

NSArray的writeToFile方法有一些局限性。例如,它仅支持这些数据类型:

  • 的NSString
  • NSData的
  • 的NSDate
  • 的NSNumber
  • 的NSArray
  • 的NSDictionary

对于自定义数据类型,您可以使用 NSKeyedArchiver NSKeyedUnarchiver

See this post