類別(category)除了可以對類進行擴展外,前向引用的能力也很強大。對於一些私有的方法(沒有在.h文件裡面聲明的方法)如果我們想使用的話,有的使用的是performSelector來執行動態調用,這樣完全可以調用私用方法,但是這樣完全避開了編譯器的語法檢查,有時候未必是一種好的方法。使用類別來進行前向引用可以解決這個問題。
定義一個item類
@interface ZJItem : NSObject - (void)info; @end
.m文件
@implementation ZJItem
- (void)info{
NSLog(@"這是在接口部分");
}
- (void)myPrivate{
NSLog(@"自己的方法");
}
@end
可以看到報錯的信息。

加入前向引用後,錯誤消失<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20150425/2015042508384087.png" alt="">