Проблема с записью в plist

Привет всем,

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

Вот моя структура plist:

введите здесь описание изображения

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

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];
    }
}

person Pierre    schedule 20.07.2011    source источник


Ответы (1)


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

person Community    schedule 20.07.2011