分类详解

来源:互联网 发布:不同数据类型运算vb中 编辑:程序博客网 时间:2024/06/05 07:43

参考:http://blog.csdn.net/lonelyroamer/article/details/7704896

局限性

1.不可以添加属性。

2.添加的方法名与原类的方法重名,则启用当前类别的方法。类别具有更高优先级。

作用

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

2.创建对私有方法的前向应用。

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



作用一:在我们的整个框架中有很多分类,都可以解释以上作用,此处不做详细说明

作用二,使用类别创建前向引用

Cocoa没有任何真正的私有方法。只要知道对象支持的某个方法名称,及时该对象所有类中的接口没有该方法的声明,你也可以调用该方法。不过这样使用编译器会报警告,使用类别就可以消除警告。

如下:

例子,有这么一个类MethodsTest
接口声明了两个方法  showInfo1()和showInfo2()

@interface methodsTest:NSObject

- (void)showInfo1;

- (void)showInfo2;

@end


@implementation methodsTest

-(void)showInfo1{


}

-(void)showInfo2{


}


-(void)showInfo3{


}

@end

showInfo3方法实现了,但是没有声明,使用的时候会发出警告。

在使用的地方加上分类和相应方法的声明,就不会发出警告。

@interface methodsTest()

- (void)showInfo3;

@end

作用三:向对象添加非正式协议

凡是NSObject或者其子类的类别,都是非正式协议
















0 0
原创粉丝点击