1
我知道在C中將一個變量轉換爲另一個類型會告訴編譯器,就好像該變量在內存中的類型和大小一樣。將一個Objective C對象轉換爲另一個時,編譯器級別會發生什麼
實施例:
int* a = (char*)b;
徑b的值(這是一個1個字節存儲器地址),並存儲在4字節變量。 (糾正我,如果我錯了)
這是如何工作的鑄造Objective-C對象? 我也明白,每個對象只是一個C結構持有指向它的類,實例變量列表等的指針
如果我有一個類是UIView的一個名爲MyView的子類,並且我傳遞了一個指向UIView,也許是一個方法參數,我這樣做:
-(id)setupThisViewForMe:(UIView*)aView {
MyView* newView = (MyView*)aView;
newView = [[MyView alloc]initWithFrame:CGRectMake(0.0f,0.0f,100.0f,100.0f)];
[newView takeOverTheWorldWithMyMethodInSubclass];
return newView;
}
編譯器在編譯時究竟做什麼?
+1同樣多的,這實際上導致更多的問題,我會問以後:) –