gpt4 book ai didi

objective-c - 每次更改时保存列表

转载 作者:行者123 更新时间:2023-11-29 11:15:08 26 4
gpt4 key购买 nike

我正在编写一个应用程序,用户可以在其中添加和删除多个列表中的对象。为了即使在应用程序崩溃时也能保存它们的列表,我想在每次更改时将它们写入磁盘。我目前的计划是创建一个观察列表的类,因此每次更改时都会收到通知,以便将它们存档(列表和其中的所有对象都遵循 NSCoding 协议(protocol))。

需要注意的是,我事先知道会有多少个列表,并且这些列表的长度预计不会超过 100 个项目(大多数是 10-20 个)。

这是实现我想要实现的目标的最佳方式吗?这是否应该成为我担心的问题,或者仅在应用程序退出时创建这些列表的纪念品是否可以接受?我也在考虑子类化 NSMutableArray 以创建一个类,该类在它发生变化时保存自己,这样就没有一个类必须知道所有应该保存的列表。

最佳答案

首先,这里担心用户数据的本能很好。是的,您当然应该修复崩溃。但即便如此,您也应该首先保护用户的数据。其次你应该担心用户的电池生命周期。所以你不应该经常访问他们的闪存驱动器。

如果更改的数量不大,那么我建议创建具有 NSMutableArray(而不是 NSMutableArray)的“列表”对象.只要有人调用 addItem:,您就可以将自己写入磁盘,以便始终保持同步。如果变化发生得非常快,那么构建蹦床将非常​​容易,“如果发生变化,每秒都会保存,但不会超过每秒一次”。 (如果有任何问题,请添加评论,我会发布一些代码或将其发布在博客上;这并不难。)

关于objective-c - 每次更改时保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797720/

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