WatoBlo

情報系大学生の雑記録

UIView

loadView / viewDidLoad

loadViewviewDidLoadは画面遷移後に1度呼ばれる。他の画面に遷移して戻ってきた時には呼ばれない。ViewControllerが生成された時に一度だけ行いたい処理をここに記述します。

viewWillAppear / viewDidAppear

viewWillAppearviewDidAppearはそれぞれ画面が表示される前、表示された後に呼び出されるメソッドです。画面遷移後に1度呼ばれ、他の画面に遷移して戻ってきたときにも呼ばれます。

viewWillLayoutSubviews / viewDidLayoutSubviews

viewWillLayoutSubviewsviewDidLayoutSubviewsはViewが実際にレイアウトされる前、レイアウトした後に呼び出されるメソッドです。UIViewControllerの生成時にViewに何か操作をしたい場合にはviewDidLayoutSubviewsのあとに処理を記述する必要があります。

 

アプリは瞬時に起動する必要があります。ユーザが新しいアプリケーションを評価するために費やす時間はせいぜい1~2分程度である、と言われています。つまり、この短い時間内にユーザが「このアプリは役に立たない、つまらない」と判断されたらアプリがアンインストールされてしまうと思っても良いでしょう。

そのためにはスプラッシュ画面の表示や起動時の余計な処理をできるだけ避ける必要があります。起動時にログインを要求するようなアプリもNGです。ログインしなくても、主な機能をひと通り使ってみることができるのが理想となります。初回起動時にいきなりログイン画面が表示されるとユーザは離れていってしまいます。

また、ユーザに設定情報の入力を要求しないようにすることも大切です。ではどのようにしたらよいのでしょうか?Appleは以下の方に方針を示しています。

  • ユーザの80%のニーズに応えるよう重点的に取り組む。大部分のユーザは、アプリケーションが期待通りに動作するので、改めて設定作業をする必要がありません。ごく一部のユーザしか必要としない、あるいは一度実行するだけの機能については除外します。
  • ほかの情報源からできる限り多くの情報を得る。標準で組み込まれているアプリケーションやデバイス設定でユーザが指定した情報を使用できる場合は、システムに値を問い合わせます。ユーザに値を再入力させてはいけません。
  • 設定情報が必要な場合は、アプリケーション内でユーザに入力を求める。ユーザが入力したあとはこの情報をすぐに保存します。2回目以降は入力をする必要がないようにしておきます。ユーザがこの情報を後から変更する必要がある場合は、いつでもアプリケーションの設定に移動できるように設計しましょう。