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