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

手机网站缩放5118网站

手机网站缩放,5118网站,流量打不开网站怎么办,慕课网网站建设目的KVC和KVO看起来很专业#xff0c;其实用起来还是比较简单的,KVC(Key-value coding)可以理解为键值对编码#xff0c;如果对象的基本类型#xff0c;那么键值对编码实际上和get#xff0c;set方法没有区别#xff0c;如果是属性是另外一个对象#xff0c;那么发现KVC用起来…KVC和KVO看起来很专业其实用起来还是比较简单的,KVC(Key-value coding)可以理解为键值对编码如果对象的基本类型那么键值对编码实际上和getset方法没有区别如果是属性是另外一个对象那么发现KVC用起来还是非常顺手KVO(key-value observing)是键值对的观察者模式,如果对象的属性发生变更那么会触发observeValueForKeyPath事件KVO的这种通知特性让我们在开发的时候节省了不必要的代码提高了开发效率。KVC键值对编码KVC的操作方法由NSKeyValueCoding协议提供NSObject就实现了这个协议也就是说如果对象是NSObject的子对象那么就支持KVC操作KVC有两种操作方法一种是设值一种是取值可以理解为getter和setter不过稍微有所不同的是设置对象值的方法中有两个setValue:属性值 forKey:属性名(一般的设置比如说是说设置NSString,NSNumber等基本类类型setetValue:属性值 forKeyPath:属性路径(定义两个对象Person和BookPerson有一个类型为Book的属性如果需要在Person中设置Book的值那么可以使用此方法)读取的也有两种valueForKey:属性名、valueForKeyPath:属性名。Person.h中的代码://// Person.h// BugDemo//http://www.cnblogs.com/xiaofeixiang/// Created by keso on 15/2/8.// Copyright (c) 2015年 keso. All rights reserved.//#import #import Book.hinterface Person : NSObjectproperty (strong,nonatomic) NSString *Name;property (strong,nonatomic) Book *Book;endBook.h中的代码://// Book.h// BugDemo//http://www.cnblogs.com/xiaofeixiang/// Created by keso on 15/2/8.// Copyright (c) 2015年 keso. All rights reserved.//#import interface Book : NSObjectproperty (strong,nonatomic) NSString *BookName;endPerson中Book属性的类型是Book类型看下主函数中简单调用:Person *person[[Person alloc]init];[person setValue:FlyElephant forKey:Name];Book *book[[Book alloc]init];person.Bookbook;//路径设置[person setValue:天涯明月刀 forKeyPath:Book.BookName];NSLog(%,[person valueForKey:Name]);NSLog(%,book.BookName);NSLog(%,[person valueForKeyPath:Book.BookName]);NSLog(%,person.Book.BookName);最终的打印结果就是FlyElephant和天涯明月刀需要注意的是一句就是需要先赋值一个对象给Person中Book属性不然是无法成功的:Book *book[[Book alloc]init];person.Bookbook;KVO观察者模式Key-Value Observing (KVO) 建立在 KVC 之上能够观察一个对象的 KVC key path 值的变化接下来的做的实例是在iOS中视图的ViewDidLoad中实现的跟KVC类似不过可以监听值的变化实现起来很简单addObserver添加观察observeValueForKeyPath观察变化之后的事件最后需要销毁以下监听事件概念就这么简单具体的可以看一下:新建博主(Blogger)和Article(文章)类:Article.h声明://// Article.h// KVDemo//http://www.cnblogs.com/xiaofeixiang/// Created by keso on 15/2/8.// Copyright (c) 2015年 keso. All rights reserved.//#import interface Article : NSObjectproperty (strong,nonatomic) NSString *ArticleName;endBlogger.h代码://// Bloger.h// KVDemo//http://www.cnblogs.com/xiaofeixiang/// Created by keso on 15/2/8.// Copyright (c) 2015年 keso. All rights reserved.//#import #import Article.hinterface Blogger : NSObjectproperty (strong,nonatomic) NSString *Name;property (strong,nonatomic) NSString *Url;property (strong,nonatomic) Article *MyArticle;end然后故事板中拖一个Button和一个TextField文本框然后点击的时候改变文本框的文字:首先在ViewDidLoad中添加以下代码,注意addObserver方法:_blogger[[Blogger alloc]init];//设置名称[_blogger setValue:FlyElephant forKey:Name];//设置Url[self.blogger setValue:http://www.cnblogs.com/xiaofeixiang forKey:Url];//设置观察者,options通知的对象形式[self.blogger addObserver:self forKeyPath:Name options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];//设置文本[_myTextField setText:[_blogger valueForKey:Name]];self.Article[[Article alloc]init];[self.blogger setValue:self.Article forKey:MyArticle];[self.blogger setValue:KVC和KVO的理解 forKeyPath:MyArticle.ArticleName];按钮点击事件:- (IBAction)blogObserver:(id)sender {NSLog(blogObserver);[self.blogger setValue:Keso forKey:Name];}OC中要实现KVO则必须实现NSKeyValueObServing协议不过NSObject已经实现了该协议直接重写observeValueForKeyPath即可:- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{NSLog(observeValueForKeyPath);if ([keyPath isEqualToString:Name]) {// [_myTextField setText:[_blogger valueForKey:Name]];[_myTextField setText:_blogger.MyArticle.ArticleName];}}最后销毁监听事件:- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.[self.blogger removeObserver:self forKeyPath:Name];}最终实现效果:
http://wiki.neutronadmin.com/news/493690/

相关文章:

  • 菜鸟网站编程seo文章是什么
  • 企业网站建设选题的依据及意义做视频链接哪个网站好
  • 手机端网站排名网易企业邮箱电话人工服务
  • 海淀营销型网站建设网站网页相关概念
  • 网站 信息内容建设 存在问题wordpress系统安装教程视频
  • 用phpmysql做图书网站做软件常用的网站有哪些软件有哪些
  • 深圳营销网站设计泰安房产交易网
  • 网站用户体验准则社区平安建设基层网站
  • 网站建设安全与威胁公司网站建设服务费计入什么科目
  • 住房和城乡建设部网站进不去海南省住房公积金管理局网站
  • 网站备案信息核验单怎么做网站教程视频
  • 网站悬浮窗代码设计软件下载
  • 网站可不可以不添加源码直接添加模板wordpress建站注册新用户
  • 网站建设技术分析wordpress标签库 导入
  • 百度 安徽省工程建设信息网站如何优化网站内容
  • 西宁做网站_君博先进活动页面模板
  • 国外品牌设计网站手机网站的模板下载软件
  • 怎么用dedecms搭建网站建设安全工程信息网站
  • 做网站上传资源市场调研报告1000字
  • 中国人自己的空间站wordpress 广告插件汉化版
  • 地方志网站建设方案网站平台建设服务承诺书
  • 柳州哪里有网站建设wordpress 用户中心主题
  • 六安网站推广宽带多少钱一个月
  • 做淘宝联盟网站要多少钱河南最新消息
  • 企业网站构建方案网站制作要学多久
  • 鹰潭做网站的网销是什么工作好做吗
  • 国外免费空间建网站电子科技 深圳 网站建设
  • 软件网站开发平台南京网站运营公司
  • 东莞网站建设方案服务系统网站主题有哪些问题
  • 做个手机网站多少钱 广州青海休闲网站建设公司