Objective-C学习笔记-第二天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C学习笔记-第二天相关的知识,希望对你有一定的参考价值。

Objective-C中,调用方法采用的是一种消息传递机制。

参考文章:http://blog.csdn.net/xingyevc/article/details/39397873

 

如果向某个对象传递一个信息,则会使用OC的动态绑定机制来决定需要调用的方法。

在底层,所有方法都是普通C语言函数。

然而对象收到消息后,究竟该掉哪个方法则完全于运行期决定,甚至可以在程序运行时改变。

这些特性使得OC称为一门真正的动态语言。

 

给对象发消息:

id returnValue = [someObject messageName:parameter];

转化为:

id returnValue = objc_msgSend(someObject,@selector(messageName),parameter);  

objc_msgSend函数会依据接收者与选择子的类型来调用适当的方法。

为了完成此操作,该方法需要在接收者所属的类中搜索其“方法列表”(list of methods)

如果能找到与选择子名称相符的方法,就跳至其实现代码。

若找不到,那就沿着继承体系继续向上查找,等找到名称相符的方法之后再跳转。

如果最终还是找不到相符的方法,那就执行“消息转发”

 

以上是关于Objective-C学习笔记-第二天的主要内容,如果未能解决你的问题,请参考以下文章

JAVA Web day02--- Android小白的第二天学习笔记

[学习笔记—Objective-C]《Objective-C-基础教程 第2版》第十一章 属性

python绝技学习笔记第二天

学习第二天笔记

工作流学习笔记-------第二天

Linux课程第十二天学习笔记