Как добавить новые ключи в список? - PullRequest
0 голосов
/ 21 января 2012

У меня есть plist-файл с ключами и значениями, и я хочу, чтобы пользователь мог сохранить ключ с его значением, чтобы он мог его позже перезвонить.У меня полностью запрограммирована часть обратного вызова, но я должен быть в состоянии сохранить ее.Прямо сейчас у меня есть это:

- (IBAction)addKey:(id)sender {
    NSString *string1 = [input stringValue];
    NSString *string2 = [filesField stringValue];

    NSMutableDictionary *fileKeys = [[NSMutableDictionary alloc] initWithContentsOfFile:
                          [[NSBundle mainBundle] pathForResource:@"Keys" ofType:@"plist"]];
    [fileKeys setValue:string2 forKey:string1];
}

Я делаю что-то не так, он не добавляет этот ключ и его значение в список.

Ответы [ 2 ]

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

Во-первых, вы не должны обновлять plist-файлы в вашем пакете; в то время как это может работать, оно сломает любую подпись в приложении и обязательно сломается под песочницей.

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

Во-вторых, вам нужно записать измененный словарь обратно в файловую систему, вы можете сделать это с помощью методов NSDictionary * writeToURL:atomically или writeToFile:atomically.

0 голосов
/ 04 марта 2012

Плист не единственный вариант.Вы также можете использовать основные данные для его реализации, в зависимости от того, что вы хотите сохранить.Это очень удобно, если вы используете CD, чтобы вы могли привязать внешний вид элементов управления GUI к элементам на CD.По сути, вам понадобятся объекты, один для пользователя и один для элементов.Это позволило бы вам сохранить конфигурацию в комплекте.Не должен ломаться под песочницей, но до сих пор у меня нет никакого практического опыта с песочницей.

...