美文网首页OC基础笔记
iOS类目、延展和协议

iOS类目、延展和协议

作者: PeterKock | 来源:发表于2015-09-15 22:13 被阅读1401次

类目###

为已知的类添加新的方法。(已知类包括自己定义的类和系统已有的类)
类目的目的

1.将类的实现分散到多个不同的文件中

  • 将多个类目的声明放入同一个.h文件中
  • 将实现法纳入多个.m文件中。

2.使用类目创建对私有方法的引用

  • 就是为类创建私有方法。

3.给对象添加非正式协议

  • 现在逐渐被找你个事协议替代。

4.向对象添加非正式协议。

延展
在自己类的实现文件中添加类目来声明私有方法。
协议
标准,定义了应该实现什么,但不关心具体如何实现。
OC中的协议是由@protocol声明的一组方法列表,要求其他的类去实现。(相当于@interface部分的声明。)
@required标注的方法为必须实现的方法。
@optional标注的方法为可以选择实现的。

类目的局限性

  • 类目无法想已有的类中添加实例变量。
  • 如果类目中的方法和已有类中的方法名称冲突时。
  • 最好的办法是将自己扩展的方法和原始方法区分开。

类的私有方法

  • Objective-C中没有绝对意义上的私有方法。
  • 在.h文件中声明的方法都属于公开的方法,相当于开放给别人调用。
  • 不想公开的方法,不在.h文件中申明就可以了。
  • 如果在类之外调用未公开的方法,会有错误警报。

协议可以当做变,参数类型的限定。

相关文章

  • iOS类目、延展、协议

    1.类目 类目就是为已存在的类添加新的方法。但是不能添加实例变量。比如系统的类,我们看不到他的.m文件,所以没有办...

  • iOS类目、延展和协议

    类目### 为已知的类添加新的方法。(已知类包括自己定义的类和系统已有的类)类目的目的 1.将类的实现分散到多个不...

  • 类目 延展 协议

    前言 Objective-C中提供了可以让我们扩展类定义的手段:类目,延展和协议。类目:为已知的类增加新的方法;延...

  • UI(十)类目延展协议

    协议类目延展 #pragma mark---协议---- *协议:正式协议<协议名>是一个公共接口文件,只要遵守...

  • 类别(category)延展(extension)

    Objective-c中提供了可以让我们扩展类定义的手段:类目,延展和协议。类目:为已知的类增加新的方法;延展:通...

  • 类目和延展

    0、封装 一、类目(category)的基本概念和用法 1、封装是面向对象的一个特征,OC也不意外,但有时候我们会...

  • 类目和延展

    main.h 1.延展Person_PersonExtension.h Person.h Person.m 2.为...

  • 类目,延展,和协议,代理

    为什么使用类目是一种为现有的类添加新方法的方式有时需要对现有的类添加一些方法,之前都是通过继承相关的类,然后再子类...

  • iOS-类目、延展

    一、类目 类目:非正式协议(类目名)对一个类(原有类-什么都没有)方法的扩展(注:只允许添加方法不允许添加变量) ...

  • Objective-C 「类目、延展、协议」

    类目(Category) (1).为已知的类添加新的方法,无论是否知道类的源代码,这些类包括自己定义的类和系统已有...

网友评论

    本文标题:iOS类目、延展和协议

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