iOS: сохранить два NSMutableArray в файле .plist - PullRequest
8 голосов
/ 20 мая 2011

Я хочу хранить два NSMutableArray, которые я использую как глобальный массив в AppDelegate.Эти два массива также хранятся с NSUserDefaults.Теперь я хочу знать, как я должен создать этот файл и как я могу хранить эти два массива каждый раз, когда я изменяю их.Вы можете мне помочь?

1 Ответ

12 голосов
/ 20 мая 2011
  1. Создайте NSArray, содержащий два ваших NSMutableArrays.

    NSArray *array = [NSArray arrayWithObjects:<#(id), ...#>, nil];
    
  2. Записать массив в файл.

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryDirectory = [paths objectAtIndex:0];
    NSString *location = [libraryDirectory stringByAppendingString:@"/somefilename.plist"];
    [array writeToFile:location atomically:YES];
    
  3. Загрузить массив из файла.

    NSString *path = [bundle pathForResource:@"file" ofType:@"plist"];
    NSArry *array = (path != nil ? [NSArray arrayWithContentsOfFile:location] : nil);
    
...