繁体   English   中英

iPhone NSMutableDictionary setObject forKey initWithContentsOfFile之后

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM