如何持久化和加载一个符合NSCoding协议的对象?

发布于 2024-08-24 20:41:53 字数 218 浏览 10 评论 0原文

我创建了一个符合 NSCoding 协议的类,并执行所有编码和解码工作。

对于我的应用程序,我只想将该类中的一个对象保留到设备,并且下次应用程序启动时,我想将该对象加载回内存中。

基本上它只是一个保存一些用户输入信息的类。例如,用户开始编写文本,但随后退出应用程序。下次我想加载该数据对象。

我想我需要 NSKeyedArchiver?有关于这方面的好的教程吗?我该怎么做?

I have made an class which conforms to the NSCoding protocol and does all the encode and decode stuff.

For my app, I simply want to persist an object from that class to the device and the next time when the app launches, I want to load that object back into memory.

Basically it's just an class which holds some user input information. For example the user starts writing a text but then quits the app. Next time I want to load that data object.

I guess I need NSKeyedArchiver? Is there a good tutorial on this? How do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

带上头具痛哭 2024-08-31 20:41:53

是的,您需要 NSKeyed(Un)Archiver。这两个类可以将您的对象与 NSData 进行转换,您可以将其保存/加载为文件。

要将对象保存到文件:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

要从文件读取对象:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.

Yes you need NSKeyed(Un)Archiver. These 2 classes can convert your object to/from NSData which you can save/load it as a file.

To save your object to a file:

if (![NSKeyedArchiver archiveRootObject:your_object toFile:@"filename.plist"])
   // save failed.

To read the object from a file:

id your_object = [NSKeyedUnarchiver unarchiveObjectWithFile:@"filename.plist"];
if (your_object == nil)
  // read failed.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文