您可以将此类数据存储在“<Library folder>/Application Support/<app bundle id>”中 - 使用标准 API 来定位用户的 Library 文件夹(将在您的容器中)。“应用程序支持”文件夹本身可能不存在,因此您必须检查并在需要时创建。除非您创建它,否则您自己的应用程序的文件夹将不存在,因此请检查并创建。
各种集合具有从 URL 读取/写入的方法,例如NSArray
:
+ (id)arrayWithContentsOfURL:(NSURL *)aURL;
- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)flag;
一旦你有了上面目录的路径,就为一个适当命名的文件创建一个 URL,例如“theArrayOfDictionaries.plist”,并使用这些方法来读/写它。唯一需要注意的是集合只能包含可以存储在属性列表中的类型。如果您有非 plist 类型,例如NSColor
或您自己的类,那么您需要将它们转换为NSData
写入/读取之前/之后 - 请参阅此页面了解如何为 执行此操作NSColor
,其他类型可以类似地处理。
HTH。