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

企业介绍微网站怎么做的网站换空间上怎么办啊

企业介绍微网站怎么做的,网站换空间上怎么办啊,自助建站系统有什么好处,wordpress twenty elevenKVO 的实现原理 KVO是关于runtime机制实现的当某个类的对象属性第一次被观察时#xff0c;系统就会在运行期动态地创建该类的一个派生类#xff0c;在这个派生类中重写基类中任何被观察属性的setter方法。派生类在被重写的setter方法内实现真正的通知机制如果原类为Person系统就会在运行期动态地创建该类的一个派生类在这个派生类中重写基类中任何被观察属性的setter方法。派生类在被重写的setter方法内实现真正的通知机制如果原类为Person那么生成的派生类名为NSKVONotifying_Person每个类对象中都有一个isa指针指向当前类当一个类对象的第一次被观察那么系统就会偷偷讲isa指针指向动态生成的派生类从而在给被监控属性复制是执行的是派生类的setter方法键值观察通知依赖于NSObject的两个方法willChangeValueForKey:和didChangeValueForKey:,在一个被观察属性发生改变之前willChangeValueForkey:和didChangeValueForKey:在一个被观察属性发生改变之前willChangeValueForKey:一定会被调用这就会记录旧的值。而当改变发生后didChangeValueForKey:会被调用继而observeValueForKey:ofObject:change:context:也会被调用举例伪代码_NSSet*ValueAndNotify - (void)setAge:(int)age {_NSSetIntValueAndNotify(); }// 伪代码 void _NSSetIntValueAndNotify() {[self willChangeValueForKey:age];[super setAge:age];[self didChangeValueForKey:age]; }- (void)didChangeValueForKey:(NSString *)key {// 通知监听器某某属性值发生了改变[oberser observeValueForKeyPath:key ofObject:self change:nil context:nil]; }KVC的实现原理 KVC是Key Value Coding的简称。它是一种可以通过字符串的名字key来访问类属性的机制。而不是通过调用Setter、Getter方法访问。KVC的方法定义在Foundation/NSKeyValueCoding中。KVC使用的基本方法 - (void)setValue:(nullableid)value forKey:(NSString*)key;//通过Key来设值 - (void)setValue:(nullableid)value forKeyPath:(NSString*)keyPath;//通过KeyPath来设值 - (nullableid)valueForKey:(NSString*)key;//直接通过Key来取值 - (nullableid)valueForKeyPath:(NSString*)keyPath;//通过KeyPath来取值 KVC 赋值 setValue:forKey: setValue:forKey:将键字符串key所对应的属性的值设置为value。按照setKey:、_setKey:顺序查找方法如果没有找到Set方法的话将调用方法setValue:ForUndefinedKey:。并抛出异常 NSUnknowKeyException2. 若没有找到Set方法会调用对象的类方法 (BOOL)accessInstanceVariablesDirectly;此方法返回YES时默认返回YES会按照_key_iskeykeyiskey的顺序搜索成员然后赋值。 3.  若都没找到成员变量将调用方法setValue:ForUndefinedKey:。并抛出异常 NSUnknowKeyException KVC 取值值 valueForKey: 按先后顺序搜索getKey:、key、isKey、三个方法若某一个方法被实现取到的即是方法返回的值后面的方法不再运行。如果是BOOL或者Int等值类型 会将其包装成一个NSNumber对象。若这三个方法都没有找到则会调用 (BOOL)accessInstanceVariablesDirectly方法判断是否允许取成员变量的值。若返回NO直接调用- (nullable id)valueForUndefinedKey:(NSString *)key方法并抛出异常 NSUnknowKeyException若返回YES,会按先后顺序取_key、_isKey、 key、isKey成员变量的值。调用- (nullable id)valueForUndefinedKey:(NSString *)key方法。补充 KVC提供属性值正确性验证的API它可以用来检查set的值是否正确、为不正确的值做一个替换值或者拒绝设置新值并返回错误原因。- - (BOOL)validateValue:(inout id __nullable * __nonnull)ioValue forKey:(NSString *)inKey error:(out NSError **)outError; KVC中的异常.获取值时找不到key- (nullable id)valueForUndefinedKey:(NSString *)key;设值时找不到key- (void)setValue:(nullable id)value forUndefinedKey:(NSString *)key给不能设置nil的属性设置了nil。如果你在SetValue方法时面给Value传nil则会调用这个方法(void)setNilValueForKey:(NSString *)key;转载于:https://www.cnblogs.com/ShaoYinling/p/10238492.html
http://www.pierceye.com/news/638952/

相关文章:

  • 佛山专业做网站公司有哪些怎样推广自己的视频号
  • 网站不能调用样式旅游网站的功能
  • 哪里有网站建设的企业某某网站安全建设方案
  • 男女做那个的视频网站网站建设合同英文版
  • 营销型企业网站怎么建站做外账要登什么网站
  • 网站经营性备案莞城东莞网站建设
  • 网站开发的实施方案章丘建设局网站
  • 贴吧网站开发需求分析北京网站建设V芯ee8888e
  • 桂林建设信息网站wordpress仿盗
  • 建材营销型的网站微博登录网站开发
  • 百度联盟怎么做网站家乡网站建设策划书模板
  • wordpress开发中介网站我要进入手机建设银行网站
  • 电商网站大全wordpress弹幕主题
  • 钱站网站如何拉美贸易网
  • 网页无法访问如何解决h5云南seo公司
  • 杭州手机建设网站做宣传的网站有哪些
  • 密云青岛网站建设手机网站页面设计
  • 网站开发学习步骤网站开发合同要注意哪些
  • 制作网站要花多少钱如何装饰设计公司哪个好
  • vue做网站的优缺点番禺最新发布
  • 免费模板素材网站有哪些免费中文网站模板html
  • 本地建设多个网站链接平安保险网站
  • wordpress安装主题后无法查看媒体seo内容优化
  • 广告在线制作图片外贸推广建站蓝颜seo牛
  • 成都网站创建wordpress 未找到
  • 网站seo链接购买长宁广州网站建设
  • 网站分类导航代码wordpress笔记主题
  • 网站常用代码阿里云 全国网站建设
  • 盗取dede系统做的网站模板深圳建设工程信息网站
  • 百度SEO网站江门网站建设公司哪家好