博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
runtime讲解<二>
阅读量:7120 次
发布时间:2019-06-28

本文共 1286 字,大约阅读时间需要 4 分钟。

hot3.png

runtime的应用(1)

前面对runtime有了一个简单了解,可看了半天在应用在没什么用啊,那你就错了

啊,我想起来了,你前面不就要说应用吗,为毛等到现在,我还傻傻看完前一页,流量啊,其实我是来替网通做任务的

还记得归档解档吗,想想就心碎的不行啊,那一大堆的=啊,有了runtime马上心就热乎了

首先遵循NSCoding协议

//归档- (void)encodeWithCoder:(NSCoder *)aCoder{	unsigned int count;	//获得指向当前类的所有属性的指针	objc_property_t *propertys = class_copyPropertyList([Student class], &count);	for (int i = 0;  i < count; i++) {		//获得指向属性的指针		objc_property_t property = propertys[i];				const char *name = property_getName(property);				NSString *properyName = [NSString stringWithUTF8String:name];						//通过名称取值		NSString *propertyValue = [self valueForKey:properyName];		//编码属性		[aCoder encodeObject:propertyValue forKey:properyName];	}	free(propertys);}//解档- (instancetype)initWithCoder:(NSCoder *)aDecoder{		unsigned int count;	//获得指向当前类的所有属性的指针	objc_property_t *propertys = class_copyPropertyList([Student class], &count);	for (int i = 0;  i < count; i++) {		//获得指向属性的指针		objc_property_t property = propertys[i];				const char *name = property_getName(property);				NSString *properyName = [NSString stringWithUTF8String:name];				//解码属性值		NSString *propertyValue = [aDecoder decodeObjectForKey:properyName];				[self setValue:propertyValue forKey:properyName];	}   free(propertys);		return self;}

 

转载于:https://my.oschina.net/u/2607703/blog/678225

你可能感兴趣的文章
【网络编程】网络协议简析
查看>>
PHP 中Cookie和Session的使用
查看>>
Struts2注解
查看>>
Vue.js 判断对象属性是否存,不存在添加
查看>>
第十一周作业
查看>>
2-设置文件类型扩展名
查看>>
[python基础]关于中文编码和解码那点事儿
查看>>
MySQL集群架构-DRBD+headbeat +lvs+keepalived
查看>>
[LUOGU] P2886 [USACO07NOV]牛继电器Cow Relays
查看>>
31. Next Permutation
查看>>
Interactive cloth
查看>>
字符编码【转载】
查看>>
mysql中的事物处理
查看>>
Android 车联网天气
查看>>
POJ 2430 状压DP
查看>>
C++Primer第5版学习笔记(三)
查看>>
Centos7系统介绍
查看>>
GIT简单实用
查看>>
Sonar - 部署常见问题及解决方法
查看>>
IOS 学习笔记(3) 视图UITabbarController
查看>>