您的位置:首页 > 编程语言 > Go语言

category的应用

2016-08-01 17:51 211 查看

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

一般情况下,没有在.h接口文件中声明,只有在.m文件中出现的方法,外界是不能调用的。

但是通过定义类别后,把这个.m文件中的方法在类别的.h文件中声明出来,外界就可以调用了。

这种方式就是对私有对象的向前引用。

向对象添加非正式协议。

正式协议是通过@protocol关键字声明的一系列方法,然后由准守协议的类去实现这些方法。

非正式协议是通过分类,将正式协议里声明的方法声明在现有类的类别中。

基于非正式协议,可以把委托方法声明在NSObject类别中,这样就可以实现:任何类,只要它实现了委托方法,那么它的实例就可以是委托对象。

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

类扩展语法:

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


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

:类扩展是在编译时进行处理,而类别是运行时,动态的添加方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  category