将多个词典添加到iOS plist for Journal

时间:2017-01-14 05:08:05

标签: ios objective-c dictionary nsdictionary plist

我有一个应用程序,我想在应用程序的整个生命周期中存储几条信息。为此,我制作了一个名为“myJournal.plist”的plist文件。起初在plist中没有任何东西,因为它将完全取决于用户的行为。我希望plist看起来像这样,每个Dictionary都基于当天并添加到列表中。

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 个答案:

答案 0 :(得分:1)

  1. 您第一次尝试写入尚未创建或为空的文件,因此loadedMiscDictionarynil。因此,最后您尝试将nil写入文件。

  2. 捆绑包中的文件(我假设在屏幕截图中)与文档目录中的文件不同。启用文档共享并在iTunes中检查应用程序的Documents目录。我想你会看到那里实际改变的文件。