Objective C Runtime的一些笔记
来源:互联网 发布:mac哪里下载破解软件 编辑:程序博客网 时间:2024/05/22 07:50
1. 相对于C/C++, Objective C尽可能地把一些动作推迟到运行时来执行。即尽可能动态地来做事情。 因此它不仅需要一个编译器,还需要一个运行时环境来执行编译后的代码。
2.Runtime分为Legacy和modern两个版本,一般来说,我们现在用的都是modern版本。
3.modern版本的一个显著特征就是“non-fraigle”, 即父类的成员变量发生改变时,子类不需要重新编译。
4.ObjC与runtime System在三个不同的层次进行交互:(1)通过ObjC源码 (2)通过NSObject定义的函数 (3)通过直接调用runtime functions。
5.Cocoa中大多数类都是NSObject的子类(NSProxy除外)。因此,在这个继承体系中,子类可以根据需求重新实现NSObject定义的一些函数,实现多态和动态性。比如description。
6.自省(introspection)
- (BOOL)isKindOfClass:(Class)aClass;- (BOOL)isMemberOfClass:(Class)aClass;- (BOOL)conformsToProtocol:(Protocol *)aProtocol;+ (BOOL)instancesRespondToSelector:(SEL)aSelector;+ (BOOL)conformsToProtocol:(Protocol *)protocol;- (IMP)methodForSelector:(SEL)aSelector;+ (IMP)instanceMethodForSelector:(SEL)aSelector;- (void)doesNotRecognizeSelector:(SEL)aSelector;
7.Runtime System 是一个动态共享库,位于 /usr/include/objc, 拥有一套公共的接口。由一系列函数和数据结构组成。开发人员可用纯C来调用一些函数来做编译器做的事情。或者扩展Runtime System。为开发环境制作一些工具等。
8. 发消息是ObjC程序中最经常出现的表达式,而该表达式最终会被转化为objC_msgSend函数调用。
比如 [receiver message] <-> objc_msg
- Objective C Runtime的一些笔记
- Objective-C的Runtime
- Objective-C 的 Runtime
- Objective C的runtime
- Objective-C Runtime学习笔记
- Objective-C Runtime学习笔记
- 对Objective-C的runtime的一些理解
- Objective-C的runtime详解
- Objective-C的Runtime特性
- Objective-C Runtime的数据类型
- Objective-C的runtime原理
- Objective-C Runtime Programming Guide 笔记01
- Objective-C 的Runtime的学习
- Objective-C 的 Runtime 与 Java 的 Runtime
- 关于Objective-C Runtime的简单概述
- Objective-C几篇Runtime的文章
- 深入理解Objective-C的Runtime机制
- Objective-C总Runtime的 消息机制
- android 音频系统
- 关于TweenLite
- UVA 712 S-Trees
- Solution for fixing AudioRecord: obtainBuffer timed out
- 【Android 开发教程】使用静态资源
- Objective C Runtime的一些笔记
- Java 动态编译(Dynamic Compiling)
- mysql分库分表
- 就业面面观之东软篇
- Activity的生命周期
- UVa 644 - Immediate Decodability
- 数学谜题
- Android 本机号码的获取
- 常用sql语句语法