多数のクラス間を跨ぐような変数であると、グローバル変数を使ってしまうことが多いです。インスタンス内部のinternal(public)アクセスの変数を変更して情報を伝達する方法もあるかと思いますが、手間ではないかと感じてしまいます。
例えば、ゲームのスコア変数は、プレイ中敵を倒した時、プレイ画面のスコア表示部分、結果表示画面、など多数の箇所で利用されます。
また、Storyboardを使わずにAppDelegateあたりに全てのViewControllerのインスタンスを置いていると、
Swift
1// グローバル 2let app = UIApplication.sharedApplication().delegate! as! AppDelegate 3〜〜 4// 各ViewControllerクラス内からの画面遷移 5app.navigationController.pushViewController(app.someViewControllerInstance)
という風のコードとなり、多数のファイルとAppDelegateやグローバル変数を記述するファイルとの依存関係が出てしまいます。
プロジェクトの規模が大きくなると、特にSwiftでプロジェクトを作成していた場合はヘッダが無いため、コンパイル時間を最小限にするためにプロジェクトを分割してライブラリ化する必要が出てくるのではないかと思います。その時に独立性を保ちたい場合、グローバル変数があると厄介です。
多数のViewController間を跨ぐ変数に対してグローバル変数を使わずに、各プロジェクトごとの独立性を保ちたい場合、どのような設計にするのがよいでしょうか。ご意見を伺いたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/18 13:15