美文网首页
Object-C 语言合并两个字典

Object-C 语言合并两个字典

作者: nasy_iOS | 来源:发表于2017-01-12 10:32 被阅读0次

    - (id)mutableDictionaryCopyIfNeeded:(id)dictObj

    {if([dictObj isKindOfClass:[NSDictionaryclass]] &&

    ![dictObj isKindOfClass:[NSMutableDictionaryclass]]) {

    dictObj = [dictObj mutableCopy];

    }returndictObj;

    }

    /**

    合并两个字典

    @param dict 被合并的字典

    */

    - (void)mergingWithDictionary:(NSDictionary*)dict

    {for(idkeyin[dict allKeys]) {idobj = [selfmutableDictionaryCopyIfNeeded:[dict objectForKey:key]];idlocalObj = [selfmutableDictionaryCopyIfNeeded:[selfobjectForKey:key]];if([obj isKindOfClass:[NSDictionaryclass]] &&

    [localObj isKindOfClass:[NSMutableDictionaryclass]]) {// Recursive merge for NSDictionary[localObj mergingWithDictionary:obj];

    }elseif(obj) {

    [selfsetObject:obj forKey:key];

    }

    }

    }/**

    合并两个字典

    @param dict      被合并的字典

    @param ignoredKey 忽略的Key

    */- (void)mergingWithDictionary:(NSDictionary*)dict ignoredDictKey:(NSString*)ignoredKey

    {for(idkeyin[dict allKeys]) {if([key isEqualToString:ignoredKey]) {continue;

    }idobj = [selfmutableDictionaryCopyIfNeeded:[dict objectForKey:key]];idlocalObj = [selfmutableDictionaryCopyIfNeeded:[selfobjectForKey:key]];if([obj isKindOfClass:[NSDictionaryclass]] &&

    [localObj isKindOfClass:[NSMutableDictionaryclass]]) {// Recursive merge for NSDictionary[localObj mergingWithDictionary:obj];

    }elseif(obj) {

    [selfsetObject:obj forKey:key];

    }

    }

    }

    相关文章

      网友评论

          本文标题:Object-C 语言合并两个字典

          本文链接:https://www.haomeiwen.com/subject/kzsdbttx.html