0
我做一些編程,我也是在同一時間閱讀一些代碼,我碰到過這樣的代碼這是一個方法如何調用另一種方法?
-(id)init
{
if ((self = [super init]))
{
some code....
[self initEnemy];
}
return self;
}
及以下,它有
-(void)initEnemy
{
more code....
[self resetEnemy];
}
,然後..
-(void)resetEnemy
{
more code.. etc..
}
我看到它是呼籲方法initEnemy
init
調用第一種方法的方式和,反過來調用。基本上一種方法帶來另一種方法等等。 成功形成一個算法(你不能真正知道,因爲我已經顯示了很少的代碼)。我以正確的方式看待它嗎?
另外,我可否解釋-(id)init
方法內執行return self;
時發生的情況。
那麼,什麼是返回到 - (id)init方法是我的類的超級類?對不起,我可能會混淆。 – 2012-02-29 00:06:00
@ElmedinZelenkic:你在問一些關於基本程序控制流程如何工作的超級廣泛的東西。我的常規建議是通過一些初學者的Objective-C教程。 「init」方法內的「return」不會返回「*」*本身*,它將*返回給*任何調用init方法的人,這是您不顯示的其他地方。它正在返回的是它自己的實例。 (「Init」在這方面有點特別/令人困惑,'self'返回給調用者剛剛初始化的對象實例。) – 2012-02-29 00:23:00
明白了。非常感謝您回答我的問題。 – 2012-02-29 00:25:02