美文网首页selector
iOS 中的类方法

iOS 中的类方法

作者: 懒懒的猫 | 来源:发表于2021-08-01 19:18 被阅读0次

    Objective-C中的方法有两种:类方法和对象方法(也叫作实例方法)。

    对象方法和类方法区别

    对象方法

    - 对象方法是属于对象的
    - 以减号-开头
    - 只能让对象调用,没有对象,这个方法根本不可能被执行
    - 对象方法能访问实例变量(成员变量)
    - 对象方法中可以调用当前对象的对象方法
    - 对象方法中可以调用其他对象的对象方法
    - 对象方法中不可以调用类方法
    

    类方法

    - 类方法是属于类的
    - 以加号+开头
    - 只能用类名调用,对象不能调用
    - 类方法中不能直接访问实例变量(成员变量)
    - 类方法中不能直接调用对象方法,要想调用对象方法,必须创建或传入对象。
    

    所以当不需要访问成员变量的时候,尽量用类方法。并且类方法执行效率更高。

    另外。类方法存储在元类里。元类的结构里有存储类方法列表的数据结构。所以类方法和对象方法可以同名,并且也遵循OC的消息转发机制。

    相关文章

      网友评论

        本文标题:iOS 中的类方法

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