2011年1月17日 星期一

@class指令

使用@class的原因是當編譯器處理類別中的實體變數時,必須知道實體變數是一個類別!
因此使用@class,如果不使用@class,也可以使用#import!

差別在於若在類別中只會使用把實體變數當參數型態傳入傳出,則使用@class即可!
但若會在類別中使用到實體變數的方法,則就必須用#import!

原因為@class只知道實體變數是一個類別,但不知此類別裏有什麼方法,所以若需使用到此類別的方法則一定要用#import

通常使用@class會較有效率,因為編譯器不用處理整個類別介面檔!

Sample

#import

@class Point

@interface Xyz : NSObject
{
    Point poing;
}

沒有留言: