runtime整理:什么是runtime,带你初步了解runtime
2016-06-06 16:41
441 查看
runtime简单的认识
我所理解的runtime是一个使用C编写的库,为C添加了面向对象的特性,它是一个库(Runtime Library中文:运行时库).在这个库中可以用C函数来实现方法,对象也可以用C语言的结构体来表示…所有oc的方法的背后都是通过runtime来运行的.查看<
objc/objc.h>
1.OC中的对象是一个objc_object类型的结构体struct objc_object { Class isa OBJC_ISA_AVAILABILITY; };
id是一个objc_object类型的指针
typedef struct objc_object *id;
2.OC中的类是一个objc_class类型的结构体
struct objc_class{ Class isa OBJC_ISA_AVAILABILITY; #if !__ OBJC2__ Class super_class const char *name long version long info long instance_size struct objc_ivar_list struct objc_method_list *methodLists struct objc_cache *cache struct objc_protocol_list *protocols #endif }OBJC2_UNAVAILABLE
3.isa是一个指向objc_class结构体的指针
(1)对于objc_object,其isa指向的是对象对应的类
(2)对于objc_class,其isa指向的是类对应的类-元类(metaclass)
4.常用类型
1.
<objc/objc.h> SEL,IMP
2.
<objc/runtime> Method,Ivar,Category,Protocol
3.
<objc/message>
相关文章推荐
- Java Runtime Environment 5.0 Update 12 下载
- php set_magic_quotes_runtime() 函数过时解决方法
- Asp.Net 程序错误Runtime Error原因与解决
- System 类 和 Runtime 类的常用用法介绍
- NET Runtime Optimization Service 1101 错误的解决方法
- 自动释放池的前世今生 ---- 深入解析 autoreleasepool
- 上古时代 Objective-C 中哈希表的实现
- 懒惰的 initialize 方法
- 深入解析 ObjC 中方法的结构
- 你真的了解 load 方法么?
- 从源代码看 ObjC 中消息的发送
- IOS高级教程2:反射根据变量的引用获取变量名
- iOS学习之Objective-C 2.0 运行时系统编程
- iOS runtime原理
- runtime 运行时机制 完全解读
- runtime实际应用
- Objective-C 的动态提示和技巧
- Objective-C Associated Objects 的实现原理
- (1)知识准备【利用objective-c的runtime特性,结合FMDB实现一个轻量级的ORM】
- (2)预期+思考【利用objective-c的runtime特性,结合FMDB实现轻量级的ORM】