KVC一句话搞定赋值

原创 2015年11月19日 10:22:02
- (instancetype)initWithDic:(NSDictionary*)dic{

    if (self = [super init]) {
        
        [self setValuesForKeysWithDictionary:dic];
    }
    return self;
}
如果没有哪个属性,自己定义的而服务器没有这个属性的!
- (void)setValue:(id)value forUndefinedKey:(NSString *)key{

    if ([key isEqualToString:@"comment"]) {
        NSInteger commentCount = [value integerValue];
        _pinLun = [[NSString stringWithFormat:@"%ld",(long)commentCount] copy];
    }
    NSLog(@"%@",value);
}

comment 是服务器的属性
_pinlun 是自己定义的属性


- (void)setValue:(id)value forUndefinedKey:(NSString *)key{

    NSLog(@"=------:%@",key);
    
    if ([key isEqualToString:@"description"]) {
        _des = value;
    }else if ([key isEqualToString:@"photos"]){
    
        NSArray *photos = (NSArray*)value;
        NSMutableArray *appPhotoes = [NSMutableArray array];
        [photos enumerateObjectsUsingBlock:^(NSDictionary *dic, NSUInteger idx, BOOL *stop) {
//            1.创建AppPhoto对象
            AppPhoto *photo = [AppPhoto appPhotoWithDic:dic];
//            2.将上面的对象添加到appPhotoes中
            [appPhotoes addObject:photo];
            
        }];
        _appPhotoes = appPhotoes;
        
    }
}





版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

KVC赋值

KVC 用 KVC 实现高阶消息传递 valueForKey: 有很多有用的特例,比如说 NSArray 和 NSSet 这样的容器类都覆盖了这个方法。valueForKe...

KVC在数据解析中的应用

KVC key-value Coding, 键值编码.和点语法一样是赋值的一种方法, 今天我们一起来看看 KVC在数据解析时应用 首先,创建一个继承与NSObject的类,在类里面创建属性,并且属性...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

四句话解决const赋值问题

我以前一直没搞懂什么const这样赋值会错,那样又错,要这么这么才可以,非常乱。经过一个上午的总结,终于提炼成四句话

Python——赋值语句

本文介绍了赋值语句,介绍了赋值语句的基本形式,介绍了序列赋值以及包含嵌套的高级序列赋值,介绍了Python3中的扩展序列解包赋值,介绍了其他语言少有的多目标赋值,最后介绍了增强赋值

python3入门之赋值语句介绍

本节主要介绍赋值语句,以及几种特殊的赋值。下面附有之前的文章;

C++初级主题--(6)赋值函数

一.默认赋值函数的一般形式赋值语句其实是对“=”进行重载。 Test& operator=(const Test &t) { cout<<"赋值函数:"<<this<<"...

三句话搞定适配器模式

适配器模式的官方定义: 将一个与当前类无法兼容的接口转换成能够兼容当前类的接口。

五句话搞定JavaScript作用域

JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一、“JavaScript中无块级作用域” 在Jav...

五句话搞定JavaScript作用域

小编提示:此文针对ES5,不涉及ES2015(又称ES6) JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕。 ...

一招搞定Manifest merger failed with multiple errors ,see logs

一招搞定Manifest merger failed with multiple errors ,see logs
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)