保存和加载自定义对象

时间:2013-02-03 01:27:39

标签: ios objective-c

我是Iphone开发的新手。我的问题是我有一个NSMutableArray的自定义对象。每个对象有4个属性,即名称(NSString),图像(UIImage),按钮(UIButton)和与之关联的布尔值。按钮是以编程方式随机生成的,并在视图加载时放置在视图上(在viewDidLoad内)。如何保存此对象数组并在用户退出然后重新进入应用程序时重新生成它。按钮还必须保留其在视图上的位置。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ARC,一种GC。 所有对象在退出引用时都会被释放。 我可以向你展示保留这些物品的想法。

1:在父ViewController或Delegate类上保留这些对象。

您可以在父ViewControler或Delegate类上预先声明所有对象。

NSMutableCustomArray *customArray = [NSMutableCustomArray array];
[customArray setParameters];
ChildView *childView = [[ChildView alloc] init];
[customArray setCustomArray:customArray];
[self.view addSubview:ChildView];

除非父级存在,否则customArray中的所有对象都不会引用。

2:使用CoreData或NSUserDefaults。

如果你想要简单的数据,字符串,bool等,NSUserDefaults非常有用。 至于UIButton,你必须恢复位置很累人。

[defaults setObject:string forKey:@"customString"];
[defaults setFloat:10.0 forKey:@"button_x"];
[defaults setFloat:10.0 forKey:@"button_y"];
[defaults setFloat:10.0 forKey:@"button_width"];
[defaults setFloat:10.0 forKey:@"button_height"];