分类详解

参考: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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值