условно создать / прочитать файл .plist - PullRequest
0 голосов
/ 17 февраля 2012

Я хочу проверить наличие файла .plist в каталоге Documents.Если он существует , а не , я хочу создать его и заполнить первой записью.Если существует , я хочу прочитать его и добавить в него запись.

if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {       
    // read Faves file...
    NSMutableDictionary *tempDict = [NSMutableDictionary dictionaryWithContentsOfFile:path];
    appDelegate.dictFaves = tempDict;
} else {
    NSLog(@"Creating Favorites file");
    BOOL result = [[NSFileManager defaultManager] createFileAtPath: path contents: (NSData *)appDelegate.dictFaves attributes: nil];            
}

// .... and Append it to the list of existing favorites
[appDelegate.dictFaves setObject:newFave forKey:key];
  1. createFileAtPath возвращает FALSE, что означает, что файл не был создан.
  2. Я подвергаю сомнению законность приведения appDelegate.dictFaves к (NSDATA *).Если это неразумно, как мне создать файл с Dictionary?

1 Ответ

0 голосов
/ 17 февраля 2012

Вы можете написать это используя:

-[NSDictionary writeToURL:atomically:]

Итак, вы можете сказать:

[appDelegate.dictFaves writeToURL:url atomically:YES];

(при условии appDelegate.dictFaves является действительным NSDictionary)

...