保存/加载自定义对象数组到 plist Objective C

Posted

技术标签:

【中文标题】保存/加载自定义对象数组到 plist Objective C【英文标题】:Save/load array of custom objects to plist Objective C 【发布时间】:2012-08-02 10:36:45 【问题描述】:

该应用程序是一个简单的待办事项列表,因此我有一个可变的自定义对象数组。 下面是自定义类的一个接口:

    @interface Task : NSObject 
    
        NSString *name;
        BOOL completeness;
        int priority; 
    

我有一个两难的选择。什么选择 NSCoding 或将 Task 转换为 NSDictionary? 我的意思是哪种方式更有效?

这将是我的第一个应用程序。起初我不知道我必须保存数据。我应该重新制作模型吗?

感谢您的任何建议。

【问题讨论】:

您可能需要考虑使用 NSInteger 类型代替 int 作为优先级值。 你的意思是没关系不是吗? 我已将 int 替换为 NSNumber 【参考方案1】:

您可以使用NSDictionary 或 2 个NSMutableArray 来表示名称对象和优先级对象,直到现在我还没有处理过NSCoding,所以我不反对。 我建议您为每个数组使用NSMutableArray 和相应的 2 个plist 文件。如果您使用NSMutableArray,此Creating Multiple Plist files in document directory..? 链接将对您有所帮助。万事如意

【讨论】:

谢谢。但我决定使用 NSCoding。我稍后会发布代码。

以上是关于保存/加载自定义对象数组到 plist Objective C的主要内容,如果未能解决你的问题,请参考以下文章

如何将一组自定义结构保存到 plist swift

iOS,Swift:如何保存包含自定义对象的数组以便我可以加载以供重用?

将数组内容(自定义类型)写入 plist 作为 swift 中的键控数组

在 iOS 中保存/序列化自定义对象的正确方法

将具有多个属性的可变数组保存到 plist

禁用添加对象的选项,该对象已经在从 NSUserDefaults 加载的数组中