美文网首页
动态绑定及消息机制

动态绑定及消息机制

作者: 黄花菜先生 | 来源:发表于2017-07-19 11:18 被阅读8次

    1.消息机制

    在静态语言中,调用一个方法会直接跳转到该方法的实现部分执行,在编译时就决定好了。而在 Objective-C 中,在对象上调用方法,实际是发送了一条消息,消息有:名称(name)或者选择子(selector),可以接受参数,也有可能有返回值。

    在Objective-C 中, [object foo] 语法并不会立即执行 foo 这个方法的代码。它是在运行时给 object 发送一条叫foo 的消息。[object foo]会被编译器翻译成一条标准的C语言函数调用:objc_msgSend(object, foo, ...)。objc_msgSend定义如下:

    void objc_msgSend(id self,SEL op, ...)
    

    2.动态绑定

    在objective-c中,一个对象内否调用指定的方法不是由编译器决定而是由运行时决定,这被称作是方法的动态绑定。

    相关文章

      网友评论

          本文标题:动态绑定及消息机制

          本文链接:https://www.haomeiwen.com/subject/jnqlkxtx.html