由於目標C爲C超集,所有的Objective-C特定語句一個.m文件的編譯時轉化成C語句(由預測器,我猜)。因此,例如,將消息表達式[receiver method]
轉換爲消息功能objc_msgSend(receiver, selector)
上的呼叫。什麼是一個Objective-C 2.0類接口和實現轉換成GCC或鏘
我的問題是:如果我有一個類定義是這樣的:
@interface ClassA {
int var1;
float var2;
id var3;
}
-(void) method1;
-(int) method2: (int) num1;
@end
@implementation ClassA
-(void) method1 {
// Implementation of the method
}
-(int) method2: (int) num1 {
// Implementation of the method
}
@end
是什麼轉換成由編譯器(2.0版本的Objective-C的)?它是轉化爲電話上的功能,如objc_allocateClassPair()
,class_addIvar()
,class_addMethod()
和objc_registerClassPair()
,以分別創建類,添加它的實例變量,增加它的方法和註冊類,(所以該類結構在運行系統中實際定義的,而不是從可執行文件加載爲結構體)?