iOS学习之KVC原理_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > iOS学习之KVC原理

iOS学习之KVC原理

 2016/5/23 5:33:02  孤非  程序员俱乐部  我要评论(0)
  • 摘要:1.KVC的实现原理遍历字典里面所有的key,以name为例去模型中查找有没有setName:方法,有就直接调用赋值假如没有找到setName:方法,就会继续查找有没有_name属性,有就_name=value赋值假如没有找到_name,还会继续查找模型中有没有name属性最终没有找到,就会直接报错报错信息:2.KVC原理的使用KVC主要用于model的赋值,model最好定义我们想要的属性,但是有时会和我们得到的数据有一些不同,以下是几种常见情况:当我们取到的数据多于model的属性时
  • 标签:学习 iOS

1. KVC的实现原理

  • 遍历字典里面所有的key,以name为例
  •  去模型中查找有没有setName:方法,有就直接调用赋值

  •  假如没有找到setName:方法,就会继续查找有没有_name属性,有就_name = value赋值

  •  假如没有找到_name,还会继续查找模型中有没有name属性

  •  最终没有找到,就会直接报错

  报错信息:

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" alt="" />

2. KVC原理的使用

 KVC主要用于model的赋值,model最好定义我们想要的属性,但是有时会和我们得到的数据有一些不同,以下是几种常见情况:

  • 当我们取到的数据多于model的属性时,根据KVC原理就会出现上述的错误,解决办法:在model的.m文件中重写setValue:forUndefinedKey:方法
#import "ZFFlag.h"

@implementation ZFFlag

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

@end
  • 当我们需要的属性的类型和得到的数据的类型不同,解决办法:重写属性的setter方法(根据KVC的查找顺序可知)

  假如在视图中需要一张图片,但是得到的数据中一般是图片名,也就是一个 NSString * 类型的数据,具体解决办法请看代码

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface ZFFlag : NSObject

@property (nonatomic, strong) NSString *name;

@property (nonatomic, strong) UIImage *icon;

// 重写icon的setter方法,注意类型为得到的数据中该属性的类型
- (void)setIcon:(NSString *)icon
{
    _icon = [UIImage imageNamed:icon];
}

// 防崩
- (void)setValue:(id)value forUndefinedKey:(NSString *)key
{
    
}

@end
#import "ZFFlagView.h"

#import "ZFFlag.h"

@interface ZFFlagView ()

@property (weak, nonatomic) IBOutlet UILabel *label;
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ZFFlagView

- (void)setFlag:(ZFFlag *)flag
{
    _flag = flag;
    
    // 给子控件赋值
    _label.text = flag.name;
    _imageView.image = flag.icon;
}

@end

 

上一篇: PHP单例模式面试注意事项 下一篇: 没有下一篇了!
发表评论
用户名: 匿名