文档章节

runtime讲解<二>

刀客445
 刀客445
发布于 2016/05/19 22:18
字数 287
阅读 39
收藏 0

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;
}


 

© 著作权归作者所有

共有 人打赏支持
刀客445
粉丝 2
博文 47
码字总数 10222
作品 0
杭州
私信 提问
LeadTools Android 入门教学——运行第一个Android Demo

LeadTools 有很多Windows平台下的Demo,非常全面,但是目前开发手机应用的趋势也越来越明显,LeadTools也给大家提供了10个Android的Demo,这篇文章将会教你如何运行第一个Android Demo,我想...

葡萄城控件技术团队
2015/03/26
0
0
Runtime的使用——利用Runtime将字典转成Model

关于runtime的知识已经有很多的讲解(传送门:对runtime的理解 http://www.jianshu.com/p/927c8384855a),但一直不知道runtime的使用场景, 接下来利用runtime实现将字典转换成model。希望大家...

啪神
2016/03/25
103
0
玩转iOS开发:装逼技术RunTime的应用(一)

文章分享至我的个人技术博客:cainrun.github.io/15065147177… 前面我们把的一些基本知识都了解了一遍, 知道了在的方法调用是属于消息传送的机制. 接着呢, 我们知道了每个类都有一个的结构体...

CainLuo
2017/10/13
0
0
weblogic安装说明

因公司开发要求需安装weblogic服务做压力测试使用 安装步骤开始讲解 一.首先安装jdk 二.其次weblogic 三.步骤 1.创建用户加入到weblogic及root(后续有些执行权限问题即需要加入到root组) ...

暖暖miss
2017/09/04
0
0
runtime讲解

1.runtime是什么? runtime直译就是运行时间,run(跑,运行) time(时间),网上大家都叫它运行时,它是一套比较底层的纯C语言API,属于一个C语言库,包含了很多底层的C语言API,它是OC的幕后工作者,...

刀客445
2016/05/19
56
0

没有更多内容

加载失败,请刷新页面

加载更多

Ubuntu16.04下安装docker

[TOC] 本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。 1. 开始安装 1.1 由于...

豫华商
11分钟前
0
0
使用XShell工具密钥认证登录Linux系统

如果你是一名Linux运维,那么Linux服务器的系统安全问题,可能是你要考虑的,而系统登录方式有两种,密码和密钥。哪一种更加安全呢? 无疑是后者! 这里我为大家分享用Xshell利器使用密钥的方...

dragon_tech
23分钟前
0
0
day178-2018-12-15-英语流利阅读-待学习

“真蛛奶茶”了解一下?蜘蛛也会产奶了 Lala 2018-12-15 1.今日导读 “蛋白质含量是牛奶的 4 倍,并有着更低的脂肪和含糖量”,听起来诱人又美味的并不是羊奶或豆奶,而是你可能打死都想不到...

飞鱼说编程
28分钟前
6
0
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents

场景重现 npm install --verbose 安装依赖的时,出现如下警告 强迫症患者表示不能接受 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):npm WARN......

taadis
33分钟前
1
0
OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文 :分享Roy Orbison的单曲《She's a Mystery to Me》 《She's a Mystery to Me》- Roy Orbison 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
306
6

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部