【问题标题】:How to save CLCircularRegion to NSUserDeafults如何将 CLCircularRegion 保存到 NSUserDefaults
【发布时间】:2016-08-25 10:21:03
【问题描述】:

我有一个 CLCircularRegion 对象,我想使用 NSUserDeafults 保存它,

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

但是子类化CLCircularRegion 并添加这个函数是将其保存到NSUserDeafults 的唯一方法?还是有更好的办法?

谢谢!

【问题讨论】:

  • @Paulw11 好主意,谢谢
  • 你不必子类化,你只需要一个函数(可能在 CLCircularRegion 的扩展中)将对象转换为字典。
  • @KhanhNguyen 谢谢!

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


【解决方案1】:

在使用 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 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-13
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多