我已经用谷歌搜索了这个,找不到解决方案:我使用标准的 NSMutableDictionary writeToFile 方法,如果我的字典有多个项目,包含一个“thumbnailURL”键,它会一直失败,但它不会失败如果我注释掉这个特定键的使用并留下所有其余的......我的 dict 包含其他 NSMutableDictionaries,每个包含 2 个 NSStrings:“title”和“thumbnailURL”键。键都是 NSString。
起初,dict是空的,所以我简单地添加:
NSMutableDictionary* d = [NSMutableDictionary dictionary];
NSMutableDictionary* entry = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[thumbnailURL absoluteString], @"thumbnailURL",
title, @"title",
nil];
[d setObject:entry forKey:guid];
[d writeToFile:path atomically:YES]; // returns YES on first attempt
后来,我加载了字典:
NSMutableDictionary* d = [NSMutableDictionary dictionaryWithContentsOfFile:path];
以上根据调试器也可以工作,我可以看到我保存的项目。接下来,我添加另一个项目,与前一个项目相同,但 guid 键除外。调试器显示该项目已正确存储在内存中的 dict 对象中。最后,我尝试使用相同的代码再次保存它——它失败了,writeToFile 返回 NO。
如果我注释掉“thumbnailURL”键并只留下“标题”,它可以工作,没有错误......
任何想法?tnx