Как сохранить состояние кнопки NSPopUpButton? - какао - PullRequest
0 голосов
/ 17 января 2012

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

1 Ответ

2 голосов
/ 17 января 2012

Похоже, вам не удалось установить начальное значение по умолчанию для пользователя.

Например, если вы связываете NSPopupButton с помощью привязки «Выбранное значение» со значением «popupSelection» по умолчанию, то вы должны убедиться, что NSUserDefaults всегда возвращает один из NSPopupButton. записи для "popupSelection".

Вы достигнете этого, включив в свой проект plist, скажем «Defaults.plist», который содержит значение по умолчанию, которое вы хотите для «popupSelection» (и значения по умолчанию, которые вы хотите для других ваших предпочтений), затем при загрузке приложения запуска этот лист из вашей пачки:

NSString *defaultsPath = [[NSBundle mainBundle] pathForResource:@"Defaults" ofType:@"plist"];
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:defaultsPath]];

и зарегистрируйте их как значения по умолчанию с помощью NSUserDefaults:

[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];

Теперь ваша всплывающая кнопка будет начинаться с правильного значения, а привязка сохранит значение в NSUserDefaults правильным, когда пользователь изменит выбор.

...