QF——OC中的KVC,KVO】的更多相关文章

KVC: (Key Value Coding) 键值编码 所谓KVC,其实就是不通过set和get方法访问对象属性,而是通过属性名字符串动态的去读取属性.KVC其实也是OC反射机制的一种运用. 之所以每个对象都有KVC能力,是因为NSObject类实现了NSKeyValueCoding协议. 属性赋值: setValue:属性值 forKey:属性名 属性读取:   valueForKey:属性名 KVC比较常用的用处是在网络请求后要把得到NSDictionary数据要装入Model中,若要通过…
@selector(): 可以理解@selector()就是取类方法的编号,他的基本行为类似于C语言中的函数指针(指向函数的指针).它们通过传递方法的地址(或编号)来实现把方法当做参数的效果. 不过在C语言中,可以直接把一个函数名赋给一个函数指针,但是在OC中不行,而是要通过@selector语法来取.它的括号里传入的是方法名,返回结果是SEL类型,该类型本质上就是方法的编号(地址). OC中可以通过SEL类型(即方法编号)来动态的调用方法.其实OC中调用方法的本质是消息传递:系统给对象发送执行…
kvc是用来方便的设置实例的属性值的,比如person类的实例p1有一个name的属性,那么我们可以通过kvc去设置p1的name,语法是: [ 对象 setValue:@"xiaming" forKey:@"name"];其中xiaoming就是p1的name,这个就相当于用点语法给p1设置name:p1.name = @"xiaoming"; 以上就是kvc的简单实用.接下来是kvo,kvo是键值观察,如果我想知道某个值,是否变化,变成什么,…
来源:http://www.cnblogs.com/jay-dong/archive/2012/12/13/2815778.html 熟悉oc语法的同学也许都会懂得这么一点:在oc中,类的成员变量或是方法是没有绝对私有的. 私有方法直接通过类实例无法访问,但可以借助oc的“编译运行时”机制,也即“瞎子摸黑”机制(个人理解:只要确定了该类有方法A,管你是私有共 有,我用performSelector函数就能调用你),说到这,也许有同学会自然想起,那私有变量如何去访问呢?貌似以前还真没这样搞过,然而…
学习了这么久的设计模式方面的知识,最大的感触就是,设计模式不能脱离语言特性.近段时间所看的两本书籍,<大话设计模式>里面的代码是C#写的,有一些设计模式实现起来也是采用了C#的语言特性(C#的API,抽象类,在OC中是没有抽象类.没有多继承关系),<设计模式之禅>里面的代码是JAVA写的,与OC差距也是比较大. 但是我想,这些都不是问题,学习设计模式主要学习的是其中的思想,并将之改造成自己所熟悉语言的模式,大同小异.所需要注意的是,在学习的过程中,将之与语言结合起来,多思考.多实践…
iOS中关于KVC与KVO知识点 iOS中关于KVC与KVO知识点  一.简介 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCoding/NSKeyValueObserving非正式协议的形式被定义为基础框架的一部分.从协议的角度来说,KVC/KVO本质上是定义了一套让我们去遵守和实现的方法.当然,KVC/KVO实现的根本是Objective-C的动态性和runtime,这在后文的原理部分会有详述.另外,KVC/KVO机制离不开访…
本文转载 李朴之先生博客 http://blog.csdn.net/pucker/article/details/7413280 Objective-C中的KVC与KVO是两种比较重要的技术,这里简要介绍一下这两者的使用方法. 一.KVC <iOS程序开发方法与实践>中介绍了KVC(Key–Value Coding,键值编码)的基本内容. 简要来说,KVC提供了一种在运行时而非编译时动态访问对象属性与成员变量的方式,也就是说,我们可以用字符串的内容作为属性名称或者成员变量名称进行访问.这种特性…
iOS: 消息通信中的Notification&KVO 在 iOS: MVC 中,我贴了张经典图: 其中的Model向Controller通信的Noification&KVO为何物呢? 在功能上说,delegate.Notification以及KVO的功能类似,都是作用于 OC中对象 的消息通信.但三者的使用场景是不同的. 简单的说Delegate是一种回掉函数,更多的用在一对一的场合,可参考 iphone:delegate机制 : Notification 用得较少,使用Notifica…
一. Objective-C 方法详解 1. 方法属性 (1) OC 方法传参机制 Object-C 方法传参机制 : OC 中得参数传递都是值传递, 传入参数的是参数的副本; -- 基本类型 (值传递) : int 等基本类型直接传入 这些基本类型的的副本; -- 指针类型 (地址传递) : 使用指针变量作为参数, 传递的也是指针变量的副本, 但是这个副本本身的值是一个地址, 地址 变量 和 地址 变量的副本 还是指向同一个地址; (2) OC 方法 与 传统函数 方法 与 传统函数 : --…
知识点复习   1. 触摸事件&手势识别   1> 4个触摸事件,针对视图的 2> 6个手势识别(除了用代码添加,也可以用Storyboard添加)   附加在某一个特定视图上的,其中需要注意轻扫手势通常会附加到根视图上.   * 大部分操作,都会在touchesBegan事件中处理,以防夜长梦多! * touchesEnd事件通常用于处理touchesMoved事件中的收尾工作!   以上两项内容都必须要掌握   3> 响应者链条,目的是为了让大家能够理解手势触摸事件的传递过程…