UIVIew的持久存储

时间:2011-09-23 06:11:47

标签: ios ipad storage datapersistance

我正在我的应用程序中动态创建一些“n”个UIView对象。我可以将这些对象拖放到屏幕中的任何位置。 chenge改变了他们的一些属性。现在我想用持久存储保存所有这些细节,这样每当我启动应用程序嵌套时,我就能看到那些已经创建的对象。

那么最佳解决方案是什么?

他们可以参考这个表格的任何样本申请表,我可以参考吗?

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做。

// Create an array to store the properties
NSMutableArray *viewProperties = [NSMutableArray array]; 

// Loop through all the views
for (UIView *view in views) {

    // Create a dictionary for each view
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];

    // Store the properties in the dictionary
    [dict setValue:NSStringFromCGRect(view.frame) forKey:@"ViewFrame"];
    ...

    // Add the dictionary to the array
    [viewProperties addObject:dict];
}

// Finally add the array to persistence
[userDefaults setValue:viewProperties forKey:@"ViewProperties"];

稍后您可以从持久性中获取数组,并使用属性创建视图。

NSMutableArray *viewProperties = [userDefaults valueForKey:@"ViewProperties"]; 

for (NSDictionary *dict in viewProperties) {

    UIView *view = [[UIView alloc] init];
    NSString *frameAsString = [dict valueForKey:@"ViewFrame"];
    view.frame = CGRectFromString(frameAsString);
    // Get other properties from dictionary and set it to view
}