gpt4 book ai didi

ios - 缓存用户配置文件

转载 作者:行者123 更新时间:2023-11-29 00:18:45 27 4
gpt4 key购买 nike

我有一个类似下面的结构:

Struct User {
let name: String?
let address: String?

init(name: String, address:String) {
self.name = name
self.address = address
}
}

我正在尝试缓存用户配置文件,但我对执行此操作的最佳方法存疑。

我上面给出的结构示例是我的真实打击的较小尺寸,其中还包含个人资料图片。

我已经在 [UserDefaults] 中缓存了一些有用的东西,但我想知道我是否应该在 UserDefaults 或 CoreData 中缓存用户配置文件?

如果您认为 UserDefaults 是最好的方法,我该如何将这个类类型存储到其中?我可以存储简单的 bool 值等,但我如何才能像上面那样保存一个结构,然后正确地获取它的数据?

self.cacheUser = User(name: "Ivan", address: "EUA")

如何将 [cacheUser] 缓存到 [NSUserDefaults] 中?

谢谢。

最佳答案

您可以使用 NSKeyedArchiver 来存档对象,然后使用 NSKeyedUnarchiver 来取消存档对象,但它必须符合 NSCopying 协议(protocol)。

如果对象比较广泛和复杂,您也可以使用 CoreData 来保存对象。

如果类中的变量不是太多,你可以简单地将变量名和值放在一个字典中,并将字典保存到你的用户默认值中。然后您可以获取它们并使用保存在用户默认值中的字典值重建对象。但我只会在对象非常简单的情况下这样做(例如,一个包含几个 Int 和/或 String 的类)。

最后,我建议使用 CoreData 来持久化自定义对象。因为,随着类开始变得越来越复杂,CoreData 将为您提供更好的性能和更快的可访问性。

关于ios - 缓存用户配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44599647/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com