-1

当我的应用程序终止时,我无法保存数据。

目前,我有一个可变的字符串数组,当应用程序加载此数组时,这些字符串会加载到 uicollection 视图中,并且可以很好地保存和加载。

然后我有一个可变的 UIView 数组的可变数组。

(第一个可变数组 --> 第二个可变数组 1、第二个数组 2 等 --> UIView 1、UIView 2 等)

这是不会保存的。

是否可以保存 UIView 的可变数组?

我不确定我是否以最好的方式措辞,但我希望你能理解。

如果需要,我可以发布代码,但我以本教程为基础

http://mobileorchard.com/how-to-make-an-iphone-app-part-6-saving-data/

任何帮助表示赞赏。

4

3 回答 3

1

如果您使用的是自定义类,则需要确保它实现了NSCoding协议才能将其保存到磁盘。

要保存和加载它,您需要使用NSKeyedArchiverand NSKeyedUnarchiver

// SAVE
[NSKeyedArchiver archiveRootObject: myArray toFile: myFilePath]

// LOAD
NSMutableArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithFile: myFilePath];

常规writeToFile:atomically:writeToURL:atomically:方法只允许您编写属性列表对象。如果数组中有任何非属性列表对象,它们就会失败。属性列表对象是:NSArrayNSDictionaryNSStringNSDataNSDateNSNumber

于 2012-11-20T17:56:44.137 回答
0

NSArrayan ofUIViews与 an NSArrayof应该没有区别NSStrings。它们都是 Obj-C 对象,除了性能之外(与可能包含其他对象NSString的 a 相比,an 的占用空间非常小),在两种情况下的行为都是相同的。UIViewNSArray

如果您需要进一步的帮助,您将需要发布代码。

于 2012-11-20T17:22:17.407 回答
0

这可能听起来很傻,但你有分配NSMutableArray吗?

我已经忘记了几次,而且很容易忘记。

于 2012-11-20T17:52:42.603 回答