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

西安网站建设中企建站oa办公系统软件多少钱

西安网站建设中企建站,oa办公系统软件多少钱,如何做后台网站增删改,创建手机网站模版KVC KVC概述 KVC 即 Key-value coding 键值编码#xff0c;是指iOS的开发中#xff0c;可以允许开发者通过Key名直接访问对象的属性#xff0c;或者给对象的属性赋值。 KVC案例 interface Person : NSObjectproperty (nonatomic,assign) int age; property (nonatomic,copy)…KVC KVC概述 KVC 即 Key-value coding 键值编码是指iOS的开发中可以允许开发者通过Key名直接访问对象的属性或者给对象的属性赋值。 KVC案例 interface Person : NSObjectproperty (nonatomic,assign) int age; property (nonatomic,copy) NSString *name;end 复制代码如以上代码我们创建了一个 Person 类他有两个属性分别是 age 和 name。 然后我们将其实例化并且赋予其姓名和年龄属性 Person *p1 [Person new]; p1.name Kobe; p1.age 30; 复制代码这是常规的赋值方式那么KVC是如何赋值的呢 [p1 setValue:Kobe forKey:name]; [p1 setValue:38 forKey:age]; 复制代码如以上代码通过KVC我们可以直接使用键值对的方式对对象的属性进行赋值。 同理获取属性也可以使用键值对的方式 [p1 valueForKey: name]; [p1 valueForKey:age]; 复制代码这样即可获取对象的 name 和 age属性。 那么给我们再设置一个 Dog 类 interface Dog : NSObject property (nonatomic,copy) NSString *name; end 复制代码给 Person 类增加一个 Dog 属性 property (nonatomic,strong) Dog *dog; 复制代码实例化 Dog 对象并初始化然后赋值给 Person 对象 Dog *dog1 [Dog new]; dog1.name 旺财; p1.dog dog1; 复制代码那么如何使用KVC给获取 p1 的 dog 的 name 属性呢 只需要嵌套一层 // 获取 [[p1 valueForKey:dog] valueForKey:name]; // 设置 [[p1 valueForKey:dog] setValue:狗狗 forKey:name]; 复制代码还有一种简洁的方法就是使用以下方法 // 设置 [p1 setValue:狗狗 forKeyPath:dog.name]; // 获取 [p1 valueForKeyPath:dog.name]; 复制代码直接使用 . 连接属性即可。 KVO KVO 即 Key-Value Observing 是基于 KVC 的一种观察者模式它可以通过 KVC 的方式对对象的属性观测当 keyPath 的值变化时会发出通知。 KVO的实现方法 KVO的实现是以下三个步骤 向通知中心注册观察在某一时刻 keyPath 的值变化通知中心向观察者发送消息调用方法。重写 dealloc 方法注销观察。KVO的案例 首先我们先创建一个类用于数值变化这里就叫 KVOItem 类给它添加一个 int 类型属性 number。 interface KVOItem : NSObject property (nonatomic,assign) int number; end 复制代码然后创建并初始化对象并为其添加观察 item [KVOItem new]; item.number 0; [item addObserver:self forKeyPath:number options:NSKeyValueObservingOptionOld|NSKeyValueObservingOptionNew context:KVOTEST]; 复制代码这里观察 item 中 key 值为 number 的属性。 注册观察后需要实现观察所调用的方法 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionaryNSKeyValueChangeKey,id *)change context:(void *)context{if (context KVOTEST) {NSLog(change from % to %,[change valueForKey:old],[change valueForKey:new]);} } 复制代码然后我们使用一个 NSTimer 来重复更改 item 的 number 属性。 NSTimer *timer [NSTimer scheduledTimerWithTimeInterval:3 repeats:YES block:^(NSTimer *timer){item.number;}];[timer fire]; 复制代码并且不要忘了在 dealloc 方法中注销观察 -(void)dealloc{[item removeObserver:self forKeyPath:KVOTEST]; } 复制代码运行后我们可以看到在控制台打印以下消息 change from 0 to 1 change from 1 to 2 change from 2 to 3 change from 3 to 4 复制代码
http://www.pierceye.com/news/291509/

相关文章:

  • 网站风格模板公司建设官方网站
  • 做站群一个网站多少钱网络服务器的分类
  • 专业的常州做网站营销推广48个方法
  • 开奖网站怎么做wordpress4.9.8中文版
  • 国外做任务的网站网推公司
  • 国外有在线做设计方案的网站吗为什么用Vue做网站的很少
  • 网站一定要备案网站建设与维护工作
  • 锦江区建设和交通局网站怎样在网上建立平台
  • 网站维护升级访问中六安论坛网站
  • ppt模板网站哪个免费重庆手机版建站系统哪家好
  • 35岁学设计晚不晚北京网站快速排名优化
  • 网站建设三合一 500元阜阳网站建设公司
  • 那些公司需要网站开发工程师网页开发与网站开发
  • 手机端网站如何做排名wordpress no7
  • 搭建网站什么意思o2o的典型电子商务平台
  • vs2013网站开发教程wordpress站内搜索框
  • 素材网站怎么做利用小程序反向做网站
  • 怎么自己做网站地图做网站详细步骤
  • 做网站的整体风格确定方式郑州seo代理外包
  • 语种网站建设沭阳做网站好的
  • wordpress网站换字体颜色网站建设案例包括哪些
  • 北京市环境建设办公室网站怎么找到合适的网站建设商
  • 网站在线优化中国品牌加盟网
  • 网站可以做章子吗什么是网络营销?其特点是什么?
  • 网站优化人员中小型网站设计公司
  • 旅游网网站的设计wordpress添加网页背景图片大小
  • 学网站建设难不难wordpress5分钟安装
  • 建网站优化中山做网站专业的公司
  • 网站cmd做路由分析七牛云官网登录
  • 怎么在网站上打广告网站制作方案范文