2011-09-16 5 views
5

私は自分のコードの後に​​、またはその前に[super superMethod]を呼びますか?

[私の弱い英語のため申し訳ありません]の問題は単純である(しかし、私はそれを表現するとGoogleでそれを見つけるのが悩みを持っている)...

べきI(全て同様の例で、私は上書きスーパー方法、これだけではなく)を使用します。

- (void)viewDidLoad 
{ 
    /* 
     my code 
    */ 

    [super viewDidLoad]; 
} 

または

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    /* 
     my code 
    */ 
} 

またはそれが依存しませんの?

+0

一般に、「スーパー」コールは、「ビルドアップ」ルーチンの開始時に、「終了」時に終了する必要があります。 –

答えて

1

方法によって異なります。例えば-[super init](前)対-[super dealloc](後)。

+0

すべての権利TNX、しかし誰かが多分この話題についてもっとここに言ってください:) – fir

+0

ジャスティンの答えをチェックしてください。 – Wevah

6

場合によっては、順序は関係ありません。他のものでは、順序は重要です。役立つ

いくつかの一般化が:

  • あなたがオブジェクトの状態(viewDidLoadinit...)の一部を構成している、最初のsuperを通じて呼び出します。
  • オブジェクトの状態の一部(viewDidUnloadまたはdealloc)を破棄する場合は、最後にsuperを呼び出します。
  • 注文が問題ではないと確信している場合は、簡単な構成のためにsuperを最初に呼び出します。
関連する問題