Настройки теряют значение после изменения через приложение настроек - PullRequest
0 голосов
/ 22 марта 2012

Я использую комплект настроек для хранения основных пользовательских настроек для моего приложения. После запуска я устанавливаю настройки по умолчанию для настроек (как описано в другом посте). Однако, если я запустил файл settings.app и внес изменения, пара настроек пропала.

Вот группа из моего комплекта:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"     "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PreferenceSpecifiers</key>
    <array>
        <dict>
            <key>Title</key>
            <string>Word Bucket</string>
            <key>Type</key>
            <string>PSGroupSpecifier</string>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSToggleSwitchSpecifier</string>
            <key>Title</key>
            <string>Auto-create bucket</string>
            <key>Key</key>
            <string>bucket</string>
            <key>DefaultValue</key>
            <true/>
        </dict>
        <dict>
            <key>Type</key>
            <string>PSTextFieldSpecifier</string>
            <key>Title</key>
            <string>Words</string>
            <key>Key</key>
            <string>bucket_size</string>
            <key>KeyboardType</key>
            <string>NumberPad</string>
            <key>DefaultValue</key>
            <string>10000</string>
    </dict>
    <dict>
        <key>AutocapitalizationType</key>
        <string>Words</string>
        <key>AutocorrectionType</key>
        <string>No</string>
        <key>DefaultValue</key>
        <string>Bucket</string>
        <key>IsSecure</key>
        <false/>
        <key>Key</key>
        <string>bucket_name</string>
        <key>KeyboardType</key>
        <string>Alphabet</string>
        <key>Title</key>
        <string>Name</string>
        <key>Type</key>
        <string>PSTextFieldSpecifier</string>
    </dict>
    <dict>
        <key>Title</key>
        <string>Interface</string>
        <key>Type</key>
        <string>PSGroupSpecifier</string>
    </dict>
    <dict>
        <key>Type</key>
        <string>PSMultiValueSpecifier</string>
        <key>Key</key>
        <string>colour_scheme</string>
        <key>DefaultValue</key>
        <string>Black</string>
        <key>Title</key>
        <string>Colour Scheme</string>
        <key>Titles</key>
        <array>
            <string>Black</string>
            <string>Blue</string>
            <string>Green</string>
        </array>
        <key>Values</key>
        <array>
            <string>Black</string>
            <string>Blue</string>
            <string>Green</string>
        </array>
    </dict>
    <dict>
        <key>Title</key>
        <string>About</string>
        <key>Type</key>
        <string>PSGroupSpecifier</string>
    </dict>
    <dict>
        <key>Type</key>
        <string>PSTitleValueSpecifier</string>
        <key>Title</key>
        <string>Version</string>
        <key>Key</key>
        <string>version_preference</string>
        <key>DefaultValue</key>
        <string>0.4</string>
    </dict>
</array>
<key>StringsTable</key>
<string>Root</string>
<key>Title</key>
<string></string>
</dict>
</plist>

Перед выполнением редактирования (после первой установки значений по умолчанию) в настройках сохраняется следующее:

bucket = 1;
"bucket_name" = Bucket;
"bucket_size" = 10000;
"colour_scheme" = Black;
"version_preference" = "0.5";

После внесения изменений в настройки они сообщают следующее:

bucket = 1;
"last_bucket" = 201203;

Я не делаю дальнейших изменений в настройках, кроме первоначальной настройки в методе initialize в делегате.

Любые предложения приветствуются.

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