Стойкость хранилища для UIVIew - PullRequest
1 голос
/ 23 сентября 2011

Я динамически создаю некоторое «n» количество объектов UIView в моем приложении. Я могу перетаскивать эти объекты в любую позицию на экране и изменять их некоторые свойства. Теперь я хочу сохранить все эти деталис постоянным хранилищем, так что, когда бы я ни запускал время вложения приложения, я мог видеть эти уже созданные объекты.

Так что же является лучшим решением для этого?приложение доступно для этой формы, к которой я могу обратиться?

1 Ответ

0 голосов
/ 23 сентября 2011

Я думаю, вы можете сделать это таким образом.

// 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
}
...