category的应用

创建对私有方法的向前引用。


一般情况下,没有在.h接口文件中声明,只有在.m文件中出现的方法,外界是不能调用的。
但是通过定义类别后,把这个.m文件中的方法在类别的.h文件中声明出来,外界就可以调用了。
这种方式就是对私有对象的向前引用。

向对象添加非正式协议。


  • 正式协议是通过@protocol关键字声明的一系列方法,然后由准守协议的类去实现这些方法。
  • 非正式协议是通过分类,将正式协议里声明的方法声明在现有类的类别中。
  • 基于非正式协议,可以把委托方法声明在NSObject类别中,这样就可以实现:任何类,只要它实现了委托方法,那么它的实例就可以是委托对象。

类扩展(特殊的没有名字的类别)

类扩展语法:

@interface 已有类名称()
{ 实例变量 }
属性
方法
@end

和类别的声明差别就是没有类别的名字。一般在类的.m文件中实现以上代码。作为类中独立使用的私有方法。扩展中的声明,需要在原有.m文件中的@implementation中实现。

:类扩展是在编译时进行处理,而类别是运行时,动态的添加方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值