Проблема написать в лист - PullRequest
0 голосов
/ 20 июля 2011

Всем привет,

Я скопировал свой plist в Песочницу (FileManager) и теперь я могу изменить значения plist.Я пытаюсь сделать это, но это не работает.

Вот моя структура списка:

enter image description here

и мой фрагмент

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"BlogList.plist"];
NSMutableDictionary *ressourceDico = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
NSArray *ressourceArray = [NSArray arrayWithArray:[ressourceDico objectForKey:@"BlogList"]];
for(int i = 0; i < [ressourceArray count] ; i++)
{
    NSMutableDictionary *dico = [ressourceArray objectAtIndex:i];

    if(![[dico objectForKey:@"isSaved"] boolValue] && [[dico objectForKey:@"identifier"] isEqualToString:identifier])
    {
        [dico setObject:[NSNumber numberWithBool:YES] forKey:@"isSaved"];
        [dico writeToFile:plistPath atomically:YES];
    }
}

1 Ответ

1 голос
/ 20 июля 2011

Вы не можете записать в файл только часть словаря, чтобы «обновить» только его часть. Вместо этого вы должны записать весь словарь в файл.
Поэтому я думаю, вам придется отправить writeToFile:atomically: после зацикливания элементов массива, но получатель может быть ressourceDico вместо dico.

...