2016-04-18 10 views
0

私は、コンフィグレーション、変更...などどこからでも呼び出せるデザインの設定を処理するクラスMyViewControllerDesign.swiftを作成しようとしています。UIView以外のUIViewControllerを変更する最善の方法

enter image description here

MyViewControllerDesignの機能からMyUIViewControllerで作成されたのUIViewを修正するための最良の方法、何ですか?

1 - Should 私はhideMyView関数にMyUIViewControllerのコンテキストを渡しますか?

func hideMyView(context: MyUIViewController){ 
    context.myView.hidden = true 
} 

2 - または私はhideMyView機能にビューを渡す必要がありますか?

func hideMyView(myView: UIView){ 
    myView.hidden = true 
} 

...しかし、私はあまりにもstartTasksからそれを渡すために持っている...

func startTasks(myView: UIView){ 
    ... 
    myViewControllerDesign.hideMyView(myView) 
    ... 
} 

3 - または私はMyUIViewControllerにhideMyView機能を聞かせて必要がありますか?

どのような方法が最適ですか?そのケースを扱うデザインパターンはありますか?

答えて

0

デザインコントローラは、ビューコントローラでMyViewControllerDesignをインスタンス化するときに、デザインコントローラが管理するビューおよび/またはサブビューへの参照を保持することができます。同様に、BackgroundTasksオブジェクトは、設計コントローラへの参照を保持し、必要に応じて関連するメソッドを呼び出すことができます。

このように、View Controllerはまだプロセスの中心にあり、モデルレイヤーをビューレイヤーにリンクしています。

関連する問題