Objective-C Runtime 文档翻译—序言

前言

?

Objective-C语言尽可能多的将许多决定从编译连接推迟到运行时。无论何时,它都尽可能的动态处理事件。这就意味着OC语言不仅仅需要编译器,还需要一个运行时系统来执行编译完成的代码。对于OC而言,运行时系统扮演了操作系统的角色;就是它使得OC运行起来。

这个文档涉及到NSObject类和Objective-C程序如何与运行时系统互相作用。尤其是,对于动态加载新的类和向其他对象转发消息,本文档可用于检索编程示例。我们也可以从本文档查到在程序运行时,关于如何查找到对象相关的信息。

我们应该阅读此文档,以便加深(对OC运行时系统是如何工作的和如何利用它)的认知和理解。尤其是,我们在写Cocoa APP时,有必要阅读这份文档。

?

文档的结构

?

本文档有一下章节:(后续会有翻译)

?

相关文档

?

Objective-C Runtime Reference描述了OC运行时库支持的数据结构和函数。我们变成可以使用这些接口和OC运行时系统交互。例如,我们可以添加类和方法,或者获取所有(已经加载的)类的定义的列表。
Programming with Objective-C描述了OC语言。
Objective-C Release Notes描述了OSX中,OC运行时在最近实现的变化。

原文地址:https://www.cnblogs.com/zhouyubo/p/8434209.html

时间: 2024-11-09 05:17:19

Objective-C Runtime 文档翻译—序言的相关文章

iOS Objective -C Runtime 运行时之一: 类与对象

// --------------------------------------------------- 参考:南峰子的技术博客 http://southpeak.github.io //---------------------------------------------------- OC语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们编写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等.

Objective-C Runtime 文档翻译(一)—Runtime版本和平台

前言 ? 在不同的平台,有不同版本的OC runtime. ? 旧的和现在的版本 ? 有两个版本的OC runtime--"旧版"和"现在版".现在版就是OC-2.0并包含了许多新特性.旧版本的runtime的编程接口就是OC-1;现在版本的runtime全部接口参见Objective-C Runtime Reference. 最值得注意的新特性是,现在版本的实例变量是"不脆弱的": 在旧版本runtime,如果我们改变一个类的实例变量的布局,我

Objective-C Runtime 文档翻译(二)—与Runtime的相互作用

? 前言 ? OC编程和runtime系统的相互作用,可以分三个不同的标准: 通过OC代码. 通过在Foundation framework 的 NSObject类中定义方法. 通过直接调用runtime 函数. ? OC代码 ? 这是最重要的一部分,runtime 系统在该场景背后自动运行.我们仅仅通过写和编译OC代码就可以使用runtime系统. 当编译包含OC类和方法的代码时,编译器就会创建数据结构和(实现了语言动态特征)函数.数据结构能够捕获有Class和category以及protoc

刨根问底Objective-C Runtime(2)- Object & Class & Meta Class

Chun Tips 专注iOS开发 刨根问底Objective-C Runtime(2)- Object & Class & Meta Class 上一篇笔记讲述了objc runtime中Self 和 Super的细节,本篇笔记主要是讲述objc runtime中关于Object & Class & Meta Class的细节. 习题内容 下面代码的运行结果是? @interface Sark : NSObject @end @implementation Sark @e

刨根问底Objective-C Runtime(1)- Self & Super

刨根问底Objective-C Runtime(1)- Self & Super - Chun Tips Chun Tips 专注iOS开发 刨根问底Objective-C Runtime(1)- Self & Super 前言 关于Objective-C Runtime一篇好的文档 : Understanding the Objective-C Runtime 译文地址为: http://blog.cocoabit.com/blog/2014/10/06/yi-li-jieobjecti

刨根问底Objective-C Runtime(4)- 成员变量与属性

http://chun.tips/blog/2014/11/08/bao-gen-wen-di-objective[nil]c-runtime(4)[nil]-cheng-yuan-bian-liang-yu-shu-xing/ 上一篇笔记讲述了objc runtime中消息和Category的细节,本篇笔记主要是讲述objc runtime的 成员变量和属性. 习题内容 下面代码会? Compile Error / Runtime Crash / NSLog…? @interface Sark

Objective-C Runtime中的并发内存分配

本文由翻译自mikeash的博客,原文:Concurrent Memory Deallocation in the Objective-C Runtime译者:lynulzy(社区ID,博客) 校对:唧唧歪歪(博客) Objective-C的Runtime机制是Mac和iOS程序中的核心,而objc_msgSend函数是Runtime的核心,进言之,这个函数的核心正是方法缓存.今天将代领大家探索苹果是如何以一种线程安全且不影响程序性能的方式来调整和分配方法缓存所用内存的,其所用的技术也许是在其他

iOS面试3

转:http://studentdeng.github.io/blog/2014/02/11/baidu-interview/ 百度面试 FEB 11TH, 2014 | COMMENTS 百度移动云可穿戴部门的面试经历,面试官都非常热情友好,一上来到弄的我挺不好意思的.下面记录一下自己的面试过程,因为我真的没啥面试经验,需要总结下. 1面 Objective C runtime library:Objective C的对象模型,block的底层实现结构,消息发送,消息转发,这些都需要背后C一层

据说是百度ios面试题

百度面试题: 一面:知识点 Objective C runtime library: Objective C的对象模型,Block的底层实现结构,消息发送,消息转发,内存管理 CoreData : 多线程处理大量数据同步时的操作 Delegate:Notification,KVO, other优缺点 Runtime:category,method的实现机制. class的载入过程 二面:解决方案的能力 方案,适合的例子,关键的函数名称,方法,设计模式,算法 设计一个progress bar解决方