美文网首页学习准备
initialize方法和init区别详解

initialize方法和init区别详解

作者: Adam_潜 | 来源:发表于2018-12-30 08:18 被阅读10次

    initialize运行在init之后.
    每个类initialize只会运行一次, init会运行多次.
    在程序运行过程中,它会在你程序中每个类调用一次initialize。
    runtime 使用了发送消息 objc_msgSend 的方式对 +initialize 方法进行调用
    这个调用的时间发生在你的类接收到消息之前,
    但是在它的父类接收到initialize之后。

    如果子类没有实现 +initialize 方法,那么继承自父类的实现会被调用;
    如果一个类的category实现了 +initialize 方法,那么就会对这个类中的实现造成覆盖。

    相关文章

      网友评论

        本文标题:initialize方法和init区别详解

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