美文网首页
iOS列别和扩展的区别和用法

iOS列别和扩展的区别和用法

作者: 笑里剑 | 来源:发表于2018-03-19 13:02 被阅读0次

       最近由于找工作的事情看了些面试题,基本面试题中都会提到类别和扩展之间的区别和联系。看了些书籍和博客基本都是写了些区别,而我又是个没有代码不能完全理解的人,就自己写了个小demo记录一下。

     关于类别:类别很好理解,就是在不知道原有类的代码的情况下为类添加新的方法。值得注意的是只能添加新的方法。另外一点是如果你重写了原类的方法,调用时会优先调用类别的方法。

    关于扩展:很多文章都只是说扩展是类别的特例,这种说法是没有错的。只是本人有点愚笨,在没有实例的情况下有的时候实在无法理解。其实可以这么想,我们为某个类添加私有的属性和方法时一般写在该类.m文件的

    扩展

    中。而扩展则是将该部分单独的抽出来成为一个.h文件,其实质还是给类添加私有属性和方法

    以下是自己写了个小Demo,希望能够对理解扩展有所帮助。

    相关文章

      网友评论

          本文标题:iOS列别和扩展的区别和用法

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