类别(category)除了可以对类进行扩展外,前向引用的能力也很强大。对于一些私有的方法(没有在.h文件里面声明的方法)如果我们想使用的话,有的使用的是performSelector来执行动态调用,这样完全可以调用私用方法,但是这样完全避开了编译器的语法检查,有时候未必是一种好的方法。使用类别来进行前向引用可以解决这个问题。
定义一个item类
@interface ZJItem : NSObject - (void)info; @end
.m文件
@implementation ZJItem - (void)info{ NSLog(@"这是在接口部分"); } - (void)myPrivate{ NSLog(@"自己的方法"); } @end
可以看到报错的信息。
加入前向引用后,错误消失
原文地址:http://blog.csdn.net/zhouzhoujianquan/article/details/45250471