Как я могу обновить Integervalue в .plist? - PullRequest
1 голос
/ 14 ноября 2010

Я хочу обновить целочисленное значение в моем «Secret.plist».Вот * картинка: http://img214.imageshack.us/img214/8005/bildschirmfoto20101114u.png

Теперь в моем приложении я хочу изменить значение золота, вот мой код:

NSString *path = [[NSBundle mainBundle] pathForResource:@"Secret" ofType:@"plist"];
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];

NSNumber *goldNumber = [NSNumber numberWithInt:1234];
[tempDict setObject:goldNumber forKey:@"Gold"];
[tempDict writeToFile:path atomically:YES];

Мой .plist неОбновление после того, как я выполнил приложение, все еще есть «5000», а не «1234».Что я делаю не так?

РЕДАКТИРОВАТЬ: мое новое значение в моем .plist не сохраняется / обновляется после выхода из приложения.Пока приложения работают, значения как-то обновляются.Поэтому, когда я получаю значение ПОСЛЕ того, как я его обновил, это правильно.Когда я перезапускаю свое приложение, оно больше не обновляется.NSMutableDictionary * tempDict = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

    [tempDict setObject:@"A new String." forKey:@"key"];
    [tempDict writeToFile:path atomically:YES];

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

1 Ответ

0 голосов
/ 14 ноября 2010

Находится ли этот Secret.plist в комплекте приложений? Если вы хотите редактировать файл, вы должны скопировать его за пределы пакета приложения. Существуют стандартные каталоги, в которые можно положить вещи.

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];

documentsDir - это одно место, куда вы можете его поместить.

За исключением того, что код выглядит хорошо.

...