Swift:加载

时间:2015-06-09 20:12:04

标签: ios swift xcode6 nsdate

我有一个NSDates的二维数组,工作在亚秒精度。

但是当我像这样保存数组时:

let pathes = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) as NSArray
let documentsDirectory = pathes.objectAtIndex(0) as! NSString
let path = documentsDirectory.stringByAppendingPathComponent("tj_001.plist")
var dicti = NSMutableDictionary()

dicti.setObject(tDate, forKey: "tTimes")

dicti.writeToFile(path, atomically: false)

并加载它:

let dicti:AnyObject = NSDictionary(contentsOfFile: path)!

        . . .

                tDate = dicti.objectForKey("tTimes") as! [[(NSDate)]]

然后每个NSDate都失去了亚秒精度。它在哪里?

1 个答案:

答案 0 :(得分:0)

有人在2009年报告了这个错误。http://openradar.appspot.com/6768646

这听起来像plist序列化中的一个基本缺陷(你通过NSDictionary.writeToFile隐式使用它)。

您必须自己序列化这些。将日期的小数部分保存为字典中的单独NSNumber似乎很容易。