2012-05-02 48 views
0

想象一下普通的UIViewController子類。我們想要在-viewDidWhatever之前執行「設置內容」,但問題是有三種方法可能被調用,要麼是-initWithNibName,-initWithCoder,要麼只是-init,具體取決於它是如何創建的。Obj-C方法命名:設置方法

解決方法是創建-setup從所有這三個被調用,但我有點不確定名稱。我的問題是:這種方法是否有任何標準命名?

+2

'setup'聽起來很好,我不確定你期望在這裏得到一個「正確的」答案嗎? viewDidLoad是在視圖控制器中安裝東西的傳統地方。 – jrturton

+1

這只是個人喜好,所以它會被關閉。就我個人而言,我使用了一種叫做' - (void)commonInit'的方法,純粹是這樣,它仍然有init –

+0

這個詞根據被調用的init或initWithNibName:bundle被忽略,應該沒有問題。 ,因爲他們最終都應該調用指定的初始化程序,不管那個DI是他們中的一員還是其他人。 –

回答

0

根據你想要做什麼,你可以把它放在+ (void)initialize,它是從NSObject繼承,並會自動在類收到它的第一條消息之前被調用。

看一看這裏:Apple Developer Library: NSObject Class Reference

+3

該方法無法訪問任何實例變量。 –

+1

...或一個實例 – jrturton

2

這樣做時,我已經普遍把它命名爲-setup自己。