delegate とは何か(3)

ViewController.m だけで記述できるけれども delegate を使ったほうがよいと書きました。

それはなぜでしょう。

理解を促進するために、ViewController.m に記述するとどうなるか試してみます。

- (void) touchesBegan:(NSSet*) touches withEvent:(UIEvent*) event

{

  UITouch* touch = [touches anyObject];

  if ( [touch.displayNumber isEqual: @"1"] )

  {

    some codes...

  }

  else if ( [touch.displayNumber isEqual: @"2"] )

  {

  some codes...

  }

  else if ... 以下続く...

}

以上のようになります。

画面上にある丸であればまだよいのですが、丸は削除したり追加したりできるので、あらかじめ記述できないものも出てきます。

そのような理由により、書きようがないので delegate を使うということになります。

この説明は明快だと思います。

これとは別の視点で、ViewController.m に書かない方がよいとの判断もあります。

 

続く。