当前位置: 首页 > news >正文

做搜狗网站成都网站设计制作公司

做搜狗网站,成都网站设计制作公司,wordpress 动态文字,尚品宅配网站建设一、Key-Value Coding (KVC)键值编码 KVC#xff0c;即是指 NSKeyValueCoding#xff0c;一个非正式的 Protocol#xff0c;提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。 一个对象拥有某些属性。比如说#xff0c;一个 Person 对象有一个 nam…一、Key-Value Coding (KVC)键值编码   KVC即是指 NSKeyValueCoding一个非正式的 Protocol提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。 一个对象拥有某些属性。比如说一个 Person 对象有一个 name 和一个 age 属性。以 KVC 说法Person 对象分别有一个 value 对应他的 name 和 age 的 key。 key 只是一个字符串它对应的值可以是任意类型的对象。从最基础的层次上看KVC 有两个方法一个是设置 key 的值另一个是获取 key 的值。如下面的例子 // using the KVC accessor (getter) method-valueForKeNSString *personlName [p valueForKey:name];// using the KVC accessor (setter) method.-setValue: forKey:[p setValue:newName forKey:name]; 现在如果 Person 有另外一个 key 配偶spousespouse 的 key 值是另一个 Person 对象用 KVC 可以这样写 // just using the accessor again, same as example aboveNSString *personsName [p valueForKey:name];// this line is different, because it is using// a key path instead of a normal keyNSString *spousesName [p valueForKeyPath:spouse.name]; valueForKey 与 valueForKeyPath 要区分开来valueForKey 可以从一个对象中获取值而valueForKeyPath可以将多个 key 用点号 “.” 分割连接起来比如 [p valueForKeyPath:spouse.name];等同于[[p valueForKey:spouse] valueForKey:name]; 二、Key-Value Observing (KVO)键值观察   Key-Value Observing (KVO) 建立在 KVC 之上它能够观察一个对象的 KVC key path 值的变化。举个例子用代码观察一个 person 对象的 age 变化以下是实现的三个方法   watchPersonForChangeOfAddress: 实现观察observeValueForKeyPath:ofObject:change:context: 在被观察的 key path 的值变化时调用。dealloc 停止观察 static NSString *const KVO_CONTEXT_ADDRESS_CHANGED KVO_CONTEXT_ADDRESS_CHANGEDimplementation PersonWatcher-(void) watchPersonForChangeOfAddress:(Person *)p {// this begins the observing添加键值监听事件[p addObserver:selfforKeyPath:addressoptions:0context:KVO_CONTEXT_ADDRESS_CHANGED];// keep a record of all the people being observed,// because we need to stop observing them in dealloc[m_observedPeople addObject:p]; }// whenever an observed key path changes, this method will be called - (void)observeValueForKeyPath:(NSString *)keyPathofObject:(id)objectchange:(NSDictionary *)changecontext:(void *)context{// use the context to make sure this is a change in the address,// because we may also be observing other things-键值改变时对应的操作if(context KVO_CONTEXT_ADDRESS_CHANGED) {NSString *name [object valueForKey:name];NSString *address [object valueForKey:address];NSLog(% has a new address: %, name, address);} }-(void) dealloc; {// must stop observing everything before this object is// deallocated, otherwise it will cause crashes-在销毁的时候移除键值监听for(Person *p in m_observedPeople){[p removeObserver:self forKeyPath:address];}[m_observedPeople release];m_observedPeople nil;[super dealloc];} 这就是 KVO 的作用它通过 key path 观察对象的值当值发生变化的时候会收到通知。  转载于:https://www.cnblogs.com/xiaobaichangan/p/5622937.html
http://www.yutouwan.com/news/264193/

相关文章:

  • 二级院系网站建设长沙网站开发招聘
  • 怎样选择网站服务器网页制作网站开发流程
  • 松原网站建设哪家好怎么区分模板网站和定制网站
  • 企业网站建设和管理漯河网站建设zrgu
  • 网站建设职业规划wordpress 彩色标签云 插件
  • 无锡哪里做网站建设厅网站如何查询企业信息
  • 北京网站开发浩森宇特重庆网站推广效果
  • 专业的集团网站开发费用多少钱wordpress页面内容显示more
  • 饶平网站建设公司网站建设资金筹措的方案
  • 柳江区城乡住房建设局网站域名主机基地
  • 如何注册一个网站域名备案杭州seo优化
  • 网站页面优化公告青州网站开发
  • 国内有哪些比较好的做定制旅游网站去水印小程序搭建
  • 建设银行网站的机构有哪些本地做那种网站好一些
  • wordpress定制seo策略推广什么意思
  • 海门做网站网站开发规划
  • 网站建设算什么服务类型网页制作图片
  • 装饰工程网站模板下载ps网站建设目标
  • 帮人做网站赚钱wordpress小清新模板
  • 缝纫网站做洗衣机罩有免费的云服务器吗
  • 企业网站结构图网站建设管理自查报告
  • 各大网站的404郑州制作网站推荐
  • 珠海市建设工程质量监督检测站网站discuz做的网站
  • 阿里云服务器开源做几个网站钢筋网片厂家电话
  • 网站服务器在哪里买好网站维护中 源码
  • 小程序开发需要什么湖南seo优化首选
  • 四川鸿业建设集团公司网站做优秀网站
  • 中国黄金集团j建设公司网站wordpress外贸主
  • 嘉兴建设中心小学网站问答主题 WordPress
  • 公司介绍网站平台搭建设计论文1.简述网站建设的步骤