National Board for Healthy Eating が後援する、レシピを保持するアプリを作成することを想像してみてください。
あなたのスポンサーは、蒸し野菜の 10 のレシピと、クリーム、マジパン、ジャムのおいしいデザートの作り方を説明する 1 つのレシピを提供してくれました。
スポンサーの要件は次のとおりです。
- レシピは、ユーザーの好みに応じてメートル/インペリアル単位で表示する必要があります。
- 蒸し野菜のレシピに自然に興奮しない人もいるという噂があるため、レシピの 3 ページビューごとに、ニンジンを食べるかわいいウサギのアニメーションを画面の下部に表示して、アプリの人気を高める必要があります。
- ユーザーが蒸し野菜のレシピを 5 つ表示すると、デザートのレシピを表示する権利が与えられます。一度。
これらの要件を満たすために、メソッド/通知を次のように使用できます。
viewWillAppear
で、重量と体積をメートル法または帝国単位で計算し、レシピ ページのさまざまなラベルとテキスト フィールドに正しいテキストを入力します。これにより、ユーザーに表示されるときにテキストが既に更新されていることが保証されます。でこれを行うとviewDidAppear
、テキストが更新されるときに短いフラッシュが表示されます。
では、レシピが正しく設定され、画面上viewDidAppear
でユーザーに表示されていることがわかります。これは、条件が満たされた場合にウサギのアニメーションを開始できることを意味します。でアニメーションを開始するviewWillAppear
と、開始が早すぎます。
最後に、悪意のあるユーザーがデザートのレシピをクリックしようとすると、tableView:shouldSelectRow:
メッセージが表示されます。条件が満たされているかどうか (既に 5 つの蒸し野菜のレシピを表示している場合) を確認し、満たされている場合は YES を返します。それ以外の場合は NO が返され、行の選択はシステムによってキャンセルされます (デザート レシピはインスタンス化されず、表示されません)。