【发布时间】:2013-08-18 16:54:17
【问题描述】:
我已经在谷歌上搜索过,找不到解决方案:我使用标准的 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
【问题讨论】:
标签: ios nsmutabledictionary writetofile