美文网首页程序员iOS Developer
关于同一个类的不同catgroy中相同属性的调用问题

关于同一个类的不同catgroy中相同属性的调用问题

作者: 2a0d699cb83d | 来源:发表于2016-03-03 17:30 被阅读216次

    今天突然被人遇到如此一个问题,假如有一个类,它有两个分类,分类中都有个叫test的属性,那么调用时,先调用谁的问题。

    其实我的内心是这样的


    11.jpeg

    但无论怎么说买还是引起了我的好奇心,于是,我们动手写了个demo,工程看起来是这样的


    22.png

    ViewController有两个分类,他们的内部看起来是这样的


    屏幕快照 2016-03-03 下午5.05.13.png 屏幕快照 2016-03-03 下午5.05.17.png

    我们的ViewController开始调用


    屏幕快照 2016-03-03 下午5.06.27.png

    结果是这样的


    屏幕快照 2016-03-03 下午5.07.31.png

    并且有警告


    屏幕快照 2016-03-03 下午5.22.02.png

    看来编译器发现了我们有相同的属性,但其实警告的内容是发现了相同的实例方法,冲突了。

    那如果,我们ViewController+aaaaa这个类删了呢,很显然

    屏幕快照 2016-03-03 下午5.26.43.png

    综上,这可能和加载顺序有关,在编译完所有文件,并最后生成可执行文件时(执行文件是Mach-o格式),mach-o文件的头部,会有具体的加载信息,并且在编译时,不会再加载相同的属性,并发出警告。


    333.jpeg

    相关文章

      网友评论

        本文标题:关于同一个类的不同catgroy中相同属性的调用问题

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