如何将CLCircularRegion保存到NSUserDeafults

时间:2016-08-25 10:21:04

标签: ios swift cocoa-touch nsuserdefaults core-location

我想要使用CLCircularRegion

保存NSUserDeafults个对象

我知道我无法将对象保存到NSUserDeafults,并且在我的自定义对象中,我有一个ToDictionary func,它将对象转换为NSDictionary,然后保存它。

但是正在为CLCircularRegion创建子类并添加此func是将其保存到NSUserDeafults的唯一方法吗?或者有更好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

在使用NSUserDefaults保存之前尝试编码:

let savedRegion = NSKeyedArchiver.archivedDataWithRootObject(region)
NSUserDefaults.standardUserDefaults().setObject(savedRegion, forKey: "savedRegion")

然后取消归档检索,

if let unarchivedRegion = NSUserDefaults.standardUserDefaults().objectForKey("savedRegion") {
 savedRegion = NSKeyedUnarchiver.unarchiveObjectWithData(unarchivedRegion as! NSData) as? CLCircularRegion }