Как вы храните несколько экземпляров UIControlState в NSUserDefaults? - PullRequest
1 голос
/ 06 марта 2012

Я хочу хранить несколько экземпляров UIControlState в NSUserDefaults на платформе IOS.

Допустим, есть панель предпочтений с различными UIControl элементами, будь то UISlider, UISwitch и т. Д.

В настоящее время у меня есть функция loadPrefs в viewWillAppear и соответствующий writePrefs в viewWillDisappear.

Вместо добавления кода для сохранения состояния в NSUserDefaults для любого будущего элемента управления, который я добавляю, есть ли простой способ перебрать все ключи в NSUserDefaults и соответственно установить соответствующие состояния?

Есть ли "правильный" способ сделать это с помощью NSArray или какой-либо другой коллекции, или это не стоит времени и беспокойства?

1 Ответ

2 голосов
/ 06 марта 2012

Вы можете получить весь NSUserDefaults как NSDictionary, используя метод dictionaryRepresentation:

NSDictionary *dict = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
for (NSString *key in [dict allKeys])
{
    // do whatever you want
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...