ios - 如何将 CLCircularRegion 保存到 NSUserDefaults

标签 ios swift cocoa-touch nsuserdefaults core-location

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

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

但是子类化CLCircularRegion并添加此函数是将其保存到NSUserDeafults的唯一方法吗?或者有更好的办法吗?

谢谢!

最佳答案

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

关于ios - 如何将 CLCircularRegion 保存到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142656/

相关文章:

ios - 发送到实例的 UITableViewCell copyWithZone 无法识别的选择器

ios - 核心数据的多语言方法

ios - 编译 Swift 时收到 “Include of non-modular header inside framework module”

ios - 苹果手机 :button corner radius does not set

iphone - UIWindow makeKeyAndVisible 与 ARC 配合不佳

iphone - iOS:如何在 App 内以编程方式切换推送通知

iphone - h 264 硬件编码/解码 IOS(iPhone/Ipad)?

ios - UITableViewCell 内部的 UICollectionView

ios - ScrollView : unexpectedly found nil while unwrapping an Optional value

iphone - 从子 UIViewController 到父 UIViewController 的通信