- 博客(9)
- 收藏
- 关注
转载 Runtime(六)
Objective-C Runtime 运行时之六:拾遗 前面几篇基本介绍了runtime中的大部分功能,包括对类与对象、成员变量与属性、方法与消息、分类与协议的处理。runtime大部分的功能都是围绕这几点来实现的。本章的内容并不算重点,主要针对前文中对Objective-C Runtime Reference内容遗漏的地方做些补充。当然这并不能包含所有的内容。runtime还有许多
2016-03-27 06:47:10
232
转载 Runtime(五)
Objective-C Runtime 运行时之五:协议与分类 Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“delegation”模
2016-03-27 06:46:18
193
转载 runtim(四)
Objective-C Runtime 运行时之四:Method Swizzling理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时通过
2016-03-27 06:44:27
203
转载 runtime(三)
Objective-C Runtime 运行时之三:方法与消息 前面我们讨论了Runtime中对类和对象的处理,及对成员变量与属性的处理。这一章,我们就要开始讨论Runtime中最有意思的一部分:消息处理机制。我们将详细讨论消息的发送及消息的转发。不过在讨论消息之前,我们先来了解一下与方法相关的一些内容。基础数据类型SELSEL又叫选择器,是表示一个方法的selector的指针,
2016-03-27 06:43:08
180
转载 runtime(二)
Objective-C Runtime 运行时之二:成员变量与属性类型编码(Type Encoding)作为对Runtime的补充,编译器将每个方法的返回值和参数类型编码为一个字符串,并将其与方法的selector关联在一起。这种编码方案在其它情况下也是非常有用的,因此我们可以使用@encode编译器指令来获取它。当给定一个类型时,@encode返回这个类型的字符串编码。这些类型可
2016-03-24 22:08:00
258
转载 runtime(一)
Objective-C Runtime 运行时之一:类与对象Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective
2016-03-24 22:06:08
184
原创 结构体加typedef与不加typedef的使用区别
1.加了typedef使用例子如下:#include #include typedef struct person{ int age; int name;}stu3;int main(){stu3 stu4;stu4.name=7; printf("%ld\n",stu4.name); return 0;}
2016-03-19 21:18:21
2145
1
转载 结构体定义:struct与typedef struct 用法详解和用法小结
一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef int ARRAY[10]; typedef (int*) pINT; typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。 二、#define的
2016-03-19 21:08:27
346
原创 单链表倒置
单链表倒置,想要倒置应先整理一下倒置的思路,应先知道链表分为几种:1.单链表:单链表一个结点只有一个数据域 ,一个指针域(数据域存储数据,指针域存储下一个结点的头指针)2.双向链表:在双向链表中,结点除含有数据域外,还有两个链域,一个存储直接后继结点地址,一般称之为右链域;一个存储直接前驱结点地址,一般称之为左链域。3循环链表链表倒置思路如下:第一,先创建一个链表;创建链表需要先创
2016-03-19 10:08:12
1258
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人