一個類文件我是新來的iPhone開發環境,所以,請溫柔:調用從另一個
目前寫一個iPhone遊戲應用程序,也將有一個高的分數視圖。想要使這個視圖是獨立的,我可以從另一個類(.m文件)調用它。
問題是,你如何調用另一個類文件?我知道我需要從該文件中包含標題,但是如何從該類中調用「函數/消息」...類似於更新高分?
我希望這可以發送。預先感謝任何和所有幫助。
地理...
一個類文件我是新來的iPhone開發環境,所以,請溫柔:調用從另一個
目前寫一個iPhone遊戲應用程序,也將有一個高的分數視圖。想要使這個視圖是獨立的,我可以從另一個類(.m文件)調用它。
問題是,你如何調用另一個類文件?我知道我需要從該文件中包含標題,但是如何從該類中調用「函數/消息」...類似於更新高分?
我希望這可以發送。預先感謝任何和所有幫助。
地理...
如果你的函數是靜態的,這樣稱呼它:
[ClassName theFunction:parameter];
如果你的函數是類的成員,然後創建類的實例和調用這樣的功能:
ClassName obj = [[ClassName alloc] init];
[obj theFunction:parameter];
你真的應該通過蘋果開發者網站上的入門文檔工作: Learning Objective-C: A Primer 和 Your First iPhone Application
/什麼不要把它想成調用函數/方法/步驟。把它想象成一個對象與另一個對話。他們需要做什麼?您需要參考您想要交談的對象。
通常情況下,您需要創建一個實例變量,將其分配給您感興趣的對象。如果兩個對象一起處於筆尖,您可以在Interface Builder中繪製它們之間的連接。否則,您需要構造代碼,以便他們可以找到彼此(例如,讓筆尖的所有者參考任何其他需要與視圖交談的對象)。
您可能想嘗試通過其中一個教程(例如,在Apple的開發人員網站上)來了解它是如何工作的。
爲此的首選技術將是委派。以便您的主視圖將評分任務委託給您的HighScore視圖。
@protocol myDelegate;
@interface myClass : UIView {
id <myDelegate> delegate;
}
@property (nonatomic, assign) id <myDelegate> delegate;
@end
@protocol myDelegate
- (void)myMethod //Method to be implemented by your High Score View
要在您的高分查看實現此協議做:
@interface HighScore : UIview <myDelegate>
將在HighScore.m實現該方法的MyMethod:
- (void)myMethod {
//update Score etc...
}
從其他調用方法查看do:
myHighScoreView.delegate = self // self is your other view
[delegate myMethod] // calls the method in the other view.
我希望這很清楚。
-Oscar
您通常不希望創建視圖的所有實例。 – Chuck 2010-01-20 19:49:31