クラスの最終プロジェクト用のアプリを作成しており、アプリケーションのさまざまなビューで文字列、整数、浮動小数点数を共有する必要があります。ウェイター/ウェイトレスが仕事で使用するアプリを作成する必要があります。注文するアイテムの種類 (飲み物、前菜、前菜など) ごとに異なるビューが必要であり、選択したアイテム、それぞれの価格と数量を異なるビューでアクセスできるようにして、各ビューで現在の合計を利用できるようにする必要があります (アイテムの種類ごとに 1 つのビュー)、最後に、注文されたものと合計の項目別リストを表示するビューです。
私が理解していることから、通常、ユーザーは異なるタブ付きビュー間で情報が同じであることを期待していないため、タブバーアプリケーションレイアウトを使用したくないため、セグメント化されたコントローラーを使用することを考えていました。ビュー間で共有される文字列、整数、浮動小数点数を取得するには、AppDelegate でそれらを宣言できますか? シングルトンを使用できると読んだことがありますが、クラスではそれについて説明していないため、必要以上に複雑になる可能性があると思います。AppDelegate でそれらを宣言する場合、AppDelegateViewController.m
全体で使用できるようにするために でそれらを合成する必要がありますか? 異なるViewControllerごとにそれらを合成する必要があるとは想像できません。またはNSUserDefaults
、この状況に最適でしょうか?
AppDelegate でインスタンス変数を宣言した場合、それは本質的にグローバル変数になりますか? これがカプセル化の慣行に反していることはわかっていますが、このアプリでは大きな違いはありません。App Store にはありません。比較的小さなアプリになることを考えると、オーバーヘッドは大きな違いにはならないはずです。 .
よろしくお願いします。ファイナルが近づいている場合は、頑張ってください!
編集
これは最初からぎこちないひどいアプリになると言わざるを得ないでしょう。iOS の MVC パラダイムなどのより高度なトピックの多くを取り上げていないので、できることはかなり限られています。私たちがやるべきことと比較して。ばかげたクラス、私は本当に自分でこれを行って、何も教えられなかったObjective-Cをよりよく理解し、iOSフレームワークをよりよく理解することができたときに、それにサインアップしたことを後悔しています。
基本的に、で変数を宣言するとAppDelegate
、たとえそれが偽物であっても、異なるビューから文字列などにアクセスできますか? それともNSUserDefaults
、この場合はより良い解決策でしょうか? 私は NSUserDefaults に傾倒しており、それらをプロジェクトで宣言していますViewController
。