2015-03-10 3 views
0

У меня есть приложение, в котором пользователь должен иметь возможность создавать файлы настроек шаблонов, сохранять и выбирать из всплывающего списка. Эти настройки будут применяться для настройки экспорта элемента.Сохранение и восстановление различных подмножеств настроек при использовании привязок к какао

Я просто не знаю, как наилучшим образом подойти к проблеме сохранения и восстановления сохраненных настроек.

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

Для объяснения:

Пользователь настраивает параметры, которые они хотят для метода экспорта А, он/она сохраняет эти параметры и здесь я хочу записать их на диск в файл Plist.

Пользователь настраивает другой набор параметров для метода экспорта B, он сохраняет эти настройки, и я также хочу записать их на диск.

Я использовал NSSharedUsersDefaultsController для привязки всех элементов интерфейса и привязок тестов, но я не хочу сохранять все настройки в области приложения. Кроме того, я не знаю, есть ли хороший способ импорта/экспорта с использованием этого метода, когда я использую разные подмножества настроек. Если бы был хороший способ привязки к суб-словарям, тогда это могло бы работать, но я не смог выполнить эту работу.

Я мог бы создать класс для каждого метода экспорта и привязать настройки к NSObjectController, а затем вручную создать метод импорта и экспорта, но это было неудобно.

NSDictionaryController и NSArrayController, похоже, сделаны только для TableView и такого отображения данных, а не элементов одного пользовательского интерфейса, по крайней мере, из того, что я смог проверить.

Итак, есть ли хороший способ создания функций экспорта/импорта при использовании привязок какао или мне нужно создать для этого свои собственные методы?

Оценены любые примеры или указатели в правильном направлении.

+0

Рассматривали ли вы просто сохраняющиеся значения в мнение, которое имеет значение, и запрашивая представление при каждом экспорте? Я представляю, что эти значения имеют значение только на одной панели экспорта, и вы просто хотите, чтобы панель сохранила последние значения пользователя ... использование контроллеров и другое сохранение, не испеченное в Nib, могло бы быть больше, чем вам нужно. – stevesliva

+0

Я думаю, что вы абсолютно правы. Я довольно новичок в программировании в Cocoa и всегда ищу «правильный» способ делать что-то, и в этом случае я немного переусердствовал. Очевидный способ - просто прочитать и сохранить каждую настройку в dict и управлять всем в nib и управлять классом. Спасибо, что помогли мне это увидеть. –

ответ

0

Простой и предложить способ сохранения не критические/не безопасных параметров является:

[NSUserDefaults standardUserDefaults] 

Вы можете получить доступ к нему, как словарь с GetObject: и SetObject: