我的应用程序终止时,我无法保存数据。
目前我有一个可变的字符串数组,当应用程序加载此数组时,它会在uicollection视图中加载,保存并加载正常。
然后我有一个可变数组的UIViews可变数组。
(FIRST Mutable ARRAY - >第二个可变数组1,第二个数组2等 - > UIView 1,UIView 2等)
这是不会保存的。
是否可以保存UIViews的Mutable数组?
我不确定我是否以最好的方式措辞,但我希望你理解。
我可以根据需要发布代码,但我以本教程为基础
http://mobileorchard.com/how-to-make-an-iphone-app-part-6-saving-data/
感谢任何帮助。
答案 0 :(得分:1)
如果您使用的是自定义类,则需要确保它实现NSCoding
协议,以便将其保存到磁盘。
要保存并加载它,您需要使用NSKeyedArchiver
和NSKeyedUnarchiver
。
// SAVE
[NSKeyedArchiver archiveRootObject: myArray toFile: myFilePath]
// LOAD
NSMutableArray *myArray = [NSKeyedUnarchiver unarchiveObjectWithFile: myFilePath];
常规writeToFile:atomically:
和writeToURL:atomically:
方法只允许您编写属性列表对象。如果数组中有任何非属性列表对象,它们将失败。属性列表对象包括:NSArray
,NSDictionary
,NSString
,NSData
,NSDate
和NSNumber
。
答案 1 :(得分:0)
NSArray
UIViews
与NSArray
NSStrings
之间应该没有区别。它们都是Obj-C对象而不是性能(NSString
的足迹与可能包含其他对象的UIView
相比非常小),NSArray
在两者中的行为都相同例。
如果您需要进一步的帮助,则需要发布代码。
答案 2 :(得分:0)
这可能听起来很傻,但是你分配了NSMutableArray
吗?
我已经忘记了几次,这是一个容易忘记的事情。