ASJPlistHelper 0.3

ASJPlistHelper 0.3

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2022年1月

Sudeep 维护。



  • 作者:
  • Sudeep

ASJPlistHelper

属性列表,或 plists,在 iOS 和 Mac 平台上无处不在。它们用于存储少量数据,如默认设置/首选项。该库旨在简化与这些列表的交互。它封装了保存和检索数据的所需功能。

plists 通常有两种类型的根对象:NSArrayNSDictionary。例如,每个 Xcode 项目的 Info.plist 包含一个 NSDictionary。当使用此库时,如果您正在操作的当前 plist 为空且没有根对象类型,则会在您向其保存数据时进行设置。

假设您保存了一个 NSDictionary,它会成为根对象。但如果您保存其他任何类型的有效 plist 对象,它会回退到 NSArray,因此以后对 plist 的任何更新都意味着向该数组中添加对象。

当尝试更新具有根对象类型为 NSDictionary 的现有 plist 时,请注意,您只能使用另一个字典来更新它。尝试使用任何其他对象更新将失败。另一方面,现有的 NSArray 类型的 plist 能够使用任何类型的有效 plist 对象自行更新。

安装

CocoaPods 是安装此库的首选方式。将此命令添加到您的 Podfile

pod 'ASJPlistHelper'

用法

- (instancetype)initWithPlistNamed:(NSString *)name NS_DESIGNATED_INITIALIZER;

使用指定的初始化器创建实例。您还需要提供有效的plist文件名。

- (BOOL)save:(id)data;

将数据保存到plist文件。此方法将覆盖任何先前存在的plist数据。如果保存成功,则返回YES。

- (BOOL)update:(id)data;

与save方法类似,但此方法不会覆盖plist文件中的现有数据,而是在其后追加新数据。如果保存成功,则返回YES。

@property (readonly, copy, nonatomic) id plistContents;

返回保存到plist文件中的数据。

- (BOOL)deletePlistWithError:(NSError * _Nullable *)error;

如果完成操作,可以删除plist文件。要重新创建,必须初始化另一个ASJPlistHelper实例。

致谢

待办事项

  • 添加示例项目中的UI。
  • 重构代码并使其适合pods。
  • 查找NSPropertyListSerialization。
  • 允许id进行保存/更新。

许可证

ASJPlistHelper可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。