在Objective-C上存储数据

时间:2010-11-08 18:36:28

标签: iphone objective-c file

我只想创建一个在程序退出后保持不变的文件。我希望它包含我发起的对象,这可能吗?或者它只需要有文字吗?我以后如何访问该文件?另外,这是在Mac和iPhone上以同样的方式完成的吗?

4 个答案:

答案 0 :(得分:2)

查看核心数据或SQLite。 Apple有一些示例代码,不确定SQLite,因为他们更喜欢使用核心数据。

我会指导你这个问题。 Adding core data to my iPhone app

或使用NSUserDefaults:Best way to save data on the iPhone

答案 1 :(得分:1)

是的!这是可能的。

从NSCoding中导出要保留的对象。在这些对象上,对这些对象实现initWithCoder和encodeWithCoder函数。在这些函数中,使用这里的函数将所有原始类型写入编码器(或读取它们)http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSCoder_Class/Reference/NSCoder.html

如果要保存文件,请使用NSKeyedArchiver并使用文件名传入要存档的对象。

[NSKeyedArchiver archiveRootObject:root toFile:string]; 

此处有更多示例https://stackoverflow.com/questions/2805026/iphone-problem-in-saving-file-using-nscoding

答案 2 :(得分:0)

我过去曾使用SQLitePersistentObjects来为我的Objective-C类对象提供ORM式的感觉和行为。对象本身会转换为数据库中的相应表,在本例中是一个简单的SQLite数据库文件。

答案 3 :(得分:0)