[英]iPhone NSMutableDictionary setObject forKey after initWithContentsOfFile
所以这是我的功能
+ (void) AddAddress:(NSString*)ip:(NSString*)mac {
NSMutableDictionary* currentAddresses = [[NSMutableDictionary alloc] initWithContentsOfFile:[self filePath:ADDRESSES_FILE]];
[currentAddresses setObject:mac forKey:ip];
[Configuration Write:currentAddresses];
[currentAddresses release];
}
[self filePath:ADDRESSES_FILE]返回一个字符串,其中包含位于文档中的文件(ADDRESSES_FILE)的完整路径。 该文件可能不存在,在这种情况下,我只想将一个对象写入字典然后将其写下来
问题是当我执行setObject forKey时,它不会向dict添加任何内容(如果我只是将init分配给dict,它可以正常工作,但是我想从文件中读取记录,如果有的话,以及使用AddAddress函数替换/添加记录)
首先,您宁愿尊重ObjC的命名约定,以使其更容易理解...例如,方法名称以小写字母开头,最好在每个参数的冒号前加上一个描述性名称,例如那: AddAddress::
真的不是很好...
现在,关于从文件加载字典,问题是如果文件无法加载(不存在,格式错误,......),返回的对象将为零,最简单的方法是纠正放在:
if(currentAddresses == nil) currentAddresses = [[NSMutableDictionary alloc] init];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.