2017-01-14 18 views
0

У меня есть приложение, в котором я хочу хранить несколько фрагментов информации на протяжении всей жизни приложения. Чтобы сделать это, я создал файл plist под названием myJournal.plist. Сначала в plist ничего не будет, поскольку он будет полностью зависеть от того, что делает пользователь. Я хотел бы, чтобы plist выглядел примерно так, где каждый Словарь основан на текущем дне и добавлен в список.Добавление нескольких словарей в iOS plist для журнала

enter image description here

У меня есть следующие в моем коде:

NSArray *directories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documents = [directories firstObject]; 
    NSString *filename = [documents stringByAppendingPathComponent:@"myJournal.plist"]; 
    NSMutableDictionary *loadedMiscDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:filename]; 
    NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init]; 

    [tempDict setValue:distractions.text forKey:@"distractions"]; 
    [tempDict setValue:revelations.text forKey:@"revelations"]; 

    [loadedMiscDictionary addEntriesFromDictionary:tempDict]; 
    [loadedMiscDictionary writeToFile:filename atomically:YES]; 

Но ничто не изменилось. Что я делаю не так?

ответ

1
  1. В первый раз вы можете пытаться писать в файл, который либо не создается еще или пусто, таким образом, ваш loadedMiscDictionary является nil. В результате, в конце вы пытаетесь записать nil в файл.

  2. Файл в комплекте (который на скриншоте, я полагаю), не является тем же файлом, который находится в каталоге Documents. Включите обмен документами и проверьте каталог документов приложения в iTunes. Я думаю, вы увидите файл, который на самом деле там изменен.