iOS Category 和 Extension的区别

Category 也叫 分类/类别/类目

  作用: 

   1   不改变原有源码的情况下对类功能进行扩展

   2   对于一些大类,进行功能划分, 有利于模块化编程

  使用格式:

 1 声明: @ interface 类 (分类)

             @end

 2  实现: @implementation 类(分类)

             @end

  注意:

1 分类仅仅是对类功能进行扩展,只能定义实现方法, 不能添加实例变量(因为实例变量所在的内存区域已初始化为不可更改,无法在动态运行时修改之,可以用动态运行添加动态变量),但是可以调用 类实例变量和类方法
2 分类中方方法可以选择实现,实现后,如果有和类同名方法, 分类方法优先级更高
3 分类中方法可以被继承


Extension 就是扩展也叫匿分类

   相比分类  扩展主要用于 类实现之前,  对类添加私有实例变量和私有方法

                

   格式

  @interface 类 ()
   
  @end

           

                 @implementation 类

                 @end



        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值