開発メソッドの遅延実行あるメソッドを一定時間後に実行したい、ということはよくあります(これを、メソッドの遅延実行と呼ぶことにします)。使う方法ではないでしょうか。ある次のメソッドで簡単に同じことができます。標準搭載の写真アプリを見てみましょう。写真アプリでは、写真を見ている間に一定時間ユーザの操作が無ければ、ツールバーとナビゲーションバーが消えます。この処理は次のようなコードで実現できます。使う場合は、この例よりもう少しコードが長くなります。方が簡単でおすすめです。それぞれメリット/デメリットがあるので、場合に応じて使い分けが必要です。どのような違いがあるのかを見てみましょう。NSTimerメリット指定したメソッドを繰り返し呼び出す機能がある。必要なコードが長くなる。インスタンスを保持しておく必要がある。必要なコードが少ない。実行をキャンセルしたい場合、何も保持する必要が無い。デメリット繰り返し実行ができない。呼び出す必要があります。繰り返し実行を行うオプションがあるので、これをを利用した方が見た目に素直な実装になるでしょう。実行のキャンセル先ほどの写真アプリの例に戻りましょう。バーを消すメソッドを遅延実行登録した後、メソッド呼び出されるまでの間にツールバーのボタンが押されたとします。この場合、先に登録したバーを消すメソッドが呼び出されてしまうと困るので、登録をキャンセルする必要があります。メソッドを呼び出す必要があるため)。管理しなければならないインスタンス変数は少ない方がうれしいですよね。ある次のクラスメソッドを利用します。2つはそれぞれ次のような違いがあります。