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)-处理不存在的key和处理nil值

// //  main.m //  处理不存在的key和处理nil值 // //  Created by Goddog on 15/1/3. //  Copyright ...
  • HUXU981598436
  • HUXU981598436
  • 2015年01月03日 16:19
  • 1161

【iOS】关于kvc中的setValuesForKeysWithDictionary为model赋值的一些常见知识

在我们些项目的时候,很多时候我们会用到model,并且挺方便。当然成熟的第三方也很多,比如:jsonmodel 和MJ的model。。。 有时候我们也可以简单的的实现,那就是kvc中的setValu...
  • wm9028
  • wm9028
  • 2015年11月25日 12:28
  • 3036

面试算法--if语句中使用赋值语句

今天在讲课之余偶然发现java一个小问题,如下代码所示public class Test { public static void main(String[] args) { ...
  • zxm317122667
  • zxm317122667
  • 2016年09月17日 17:47
  • 1356

一句话搞定面向对象 Keep it DRY, Keep It shy,and tell the other guy

  • 2009年03月25日 19:29
  • 5KB
  • 下载

【Android】快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup

开发中,经常会用到动态在ScrollView、LinearLayout里addView的事,尤其是ItemView一样时,每次都要写一大堆代码 inflater 动态addView,很烦。 这个时候就...
  • zxt0601
  • zxt0601
  • 2016年12月12日 08:38
  • 4545

【Cocos2d-x】新手自学(十)分辨率自适应!一句话搞定IOS android windows!!

前几天我用在windows下面写好的程序..忽然需求要移植成安卓和ios平台.于是遇到了各种麻烦..最棘手的一个就是分辨率的自适应,我工程的图片用的都是800x480的.. 可是iphone...
  • xiaoxiangp
  • xiaoxiangp
  • 2012年10月17日 09:17
  • 13312

一句话搞定webmap(一)——轻地图组件

摘要: 遥想当年,在APP中加入LBS元素相当困难:要刻苦学习java,要刻苦学习iOS开发,要刻苦学习javascript…… 而如今,要制作一张地图真是越来越容易了!竟然只需要一句话,...
  • api_autonavi
  • api_autonavi
  • 2014年08月12日 17:24
  • 1264

一句话搞定string类型大小写转换之transform用法

对于cpp中的string类型大小写转换用的可以说非常频繁,下面是使用STL实现的一种非常简单的方式进行转换 std::transform (strExt.begin(), strExt.end()...
  • realxie
  • realxie
  • 2012年02月21日 09:58
  • 6585

iOS-MJExtension一句话搞定对象归档

MJExtension很强大,几乎支持现有所有的模型、字典、json数据转换,而且效率非常高 以前写对象归档的时候,需要让这个对象实现NSCoding协议,而且要对每一个需要归档的属性做一些enc...
  • iotjin
  • iotjin
  • 2016年05月05日 22:19
  • 492

轮播图,使用简单,代码里一句话搞定,多个参数可自定义修改

github传送门效果图:实现的功能:1.自动、无限播放的轮播图,对应每个轮播图页面的点击事件(传递position) 2.手指在操作轮播图时(以及该页面不再显示时),轮播图自动播放功能会停止 3...
  • Android_Study_OK
  • Android_Study_OK
  • 2016年05月05日 15:30
  • 1021
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:KVC一句话搞定赋值
举报原因:
原因补充:

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