美文网首页
iOS开发中的KVC与KVO

iOS开发中的KVC与KVO

作者: Coulson_Wang | 来源:发表于2017-06-06 13:01 被阅读0次

一、KVC

KVC(Key Value Coding):键值编码

1.赋值
  • 对一个对象调用setValue:forKey:方法,给对象的属性赋值。通过KVC进行赋值可以进行自动类型转换

  • 对一个对象调用setValue:forKeyPath:方法,通过内部的点语法传可以层层访问内部的属性,给对象的属性的属性赋值。

  • 通过KVC赋值可以修改类的私有成员变量

</br>

2.利用KVC进行字典转模型
  • 对模型对象调用setValuesForKeysWithDictionary:方法可以直接将字典转为模型。单通常不建议使用该方法,仅在简单的字典转模型时使用。因为:
  • 字典中的所有key必须都能在模型的属性中找到,如果有找不到的就会报错。
  • 如果模型中带有模型,则赋值后的类型不一致。

</br>

3.取值
  • 对一个对象调用valueForKey:valueForKeyPath:方法获取一个对象的某属性
  • 对一个包含多个同类型对象的数组中调用valueForKeyPath:方法,可以获取数组中所有对象的对应属性值。返回一个数组。

</br>

4.利用KVC进行模型转字典
  • 对模型对象调用dictionaryWithValuesForKeys:方法,传入一个key名数组,即可生成一个字典

</br>


二、KVO

KVO(Key Value Observing):键值监听
当某个对象的属性值发生改变时,用KVO监听该变化

  1. 绑定监听
    对一个对象调用addObserver:forKeyPath:options:context:方法,给对象绑定一个监听器(观察者)
  2. 移除监听
    调用removeObserver:forKeyPath:方法,移除监听
  3. 处理监听
    重写observeValueForKeyPath:ofObject:change:context:方法

相关文章

  • KVC剖析与使用

    KVC与KVO相关面试题 KVC -- Key Value Coding(键值编码) 在iOS开发过程中,允许开发...

  • KVC

    iOS 如何使用KVC iOS开发UI篇—Kvc简单介绍 iOS开发系列--Objective-C之KVC、KVO

  • iOS日记15-KVC

    1.iOS开发技巧系列---详解KVC 2.漫谈 KVC 与 KVO 3.KVC/KVO原理详解及编程指南 关键点...

  • 4.iOS开发之KVC

    iOS的日常开发中KVC与KVO还是使用率蛮高的,整理一下。KVC和KVO都是基于OC的动态特性和Runtime机...

  • 5.iOS开发之KVO

    iOS的日常开发中KVC与KVO还是使用率蛮高的,整理一下。KVC和KVO都是基于OC的动态特性和Runtime机...

  • KVC 和 KVO

    iOS-KVC和KVO精炼讲解(干货)KVC 和 KVOiOS开发系列--Objective-C之KVC、KVO细...

  • KVC

    KVC原理剖析 - CocoaChina_让移动开发更简单 iOS开发底层细究:KVC和KVO底层原理 | iOS...

  • 知识点3

    26. 什么是KVC和KVO? KVO: iOS开发-KVO的奥秘 http://www.jianshu.com/...

  • IOS 开发KVO

    IOS 开发中的KVC 和KVO,实践。 KVO 即key-value-observing,利用一个key来找到某...

  • 什么是KVC

    在iOS开发过程中,我们经常会听到或者用到KVO/KVC,但是对于什么是KVO和KVC,我们可能没有那么了解。下面...

网友评论

      本文标题:iOS开发中的KVC与KVO

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