美文网首页
分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类

分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类

作者: chanyStar | 来源:发表于2018-11-08 22:51 被阅读0次

参考:http://www.cocoachina.com/ios/20161018/17784.html

但文章说的有一些不对的地方:

1、定义两个分类方法相同时,调用该方法不会依次执行所有类的方法,只会执行Targets,Build Phases,Complie Source下最下面的类(本类不包含,本类是不会被执行的)。

2、个人觉得分类和扩展的不同在于

    1、分类只可以扩展方法(但可以通过动态去添加,实现get/set方法),扩展可以扩展方法和属性。

    2、扩展在.h文件中声明的是公开方法,需要去实现(虽然不实现也没问题,但你声明出来干啥?万一别人调用了呢??埋坑等人踩???),在.m   文件中声明是私有的。

    3、分类可以在不修改原来类的基础上,为一个类扩展方法。而且最有用的是可以扩展系统类,提供了不少便利;

3、回到最开始收集页面启动时间的问题,本类是系统的类,这里是UIViewController,我们可以使用分类扩展他的方法,也可以重写他的方法,可以我需要在调用的地方加头文件,所有子类都写头文件和直接在子类写方法没有什么区别,怎么样可以使得不写头文件,子类就能调用我们写的代码呢?

      我们可以进行方法交换(这样可以不必在调用的地方增加头文件),从而使得在实现的时候调用重写的方法。附链接

      英文:Method Swizzling - NSHipster

相关文章

  • 问题集 基础部分

    基础题部分 1: 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 分类和...

  • 网络上搜集的iOS面试题

    iOS基础题 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 分类...

  • iOS 高级面试题尝试解答

    [TOC] iOS 基础题 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员...

  • 面试相关总结

    基础篇 1.分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? ①分类中原则...

  • 高级面试

    iOS 基础题 1、分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? Ca...

  • iOS面试题积累总结

    iOS基础题 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 区别...

  • iOS 高级面试题--答案

    目录 iOS 基础题 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员...

  • 详解category和extension

    1.分类的使用场景?分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员?使用场...

  • iOS 问题 附答案(参考)

    iOS 基础 14题 基础部分14题 答案1: 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的...

  • iOS面试题解析

    分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员?扩展主要是为类增加一些私有...

网友评论

      本文标题:分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类

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