类别(Category)的作用(二)---对私有方法的前向引用

在上一篇文章 类别(Category)的作用(一)中,详细说明类别的第一个作用,接下来是类别的第二个作用。类别作用二:创建对私有方法的前向引用。 OC语法中,可以对类的实例变量加@private/@public等关键字进行修饰。但是不能对一个类的方法加@private进行限定,那么OC中如何定义私有方法呢?答案是:定义在类名.h文件中的方法/属性一定是公开的,而在类名.m中的类延展(Extensi
摘要由CSDN通过智能技术生成

在上一篇文章 类别(Category)的作用(一)中,详细说明类别的第一个作用,接下来是类别的第二个作用。

类别作用二:创建对私有方法的前向引用。


一、概念

OC语法中,可以对类的实例变量加@private/@public等关键字进行修饰。但是不能对一个类的方法加@private进行限定,那么OC中如何定义私有方法呢?

答案是:定义在类名.h文件中的方法/属性一定是公开的,而在类名.m中的类延展(Extension)中定义的方法/属性都是私有的。或者不在任何地方申明,只在类.m中写实现代码的方法也是私有的。

注意:
Cocoa没有任何真正的私有方法。只要知道对象支持的某个方法的名称,即使该对象所在的类的接口中没有该方法的声明,你也可以调用该方法。不过这么做编译器会报错,但是只要新建一个该类的类别,在类别.h文件中写上原始类该方法的声明,类别.m文件中什么也不写,就可以正常调用私有方法了。这就是传说中的私有方法前向引用。 所以说cocoa没有真正的私有方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值