1

私が知る限り、MVCパターンのガイドラインに従うためには、ビュー内にコントローラを持たないでください(つまり、サーバリクエスト、デリゲートなど)。しかしAppleのサンプルコードには、ビュー内にアニメーションがあります(レイヤーをアニメートするためには主にCABasicAnimationインスタンス)。独自のコントローラを持つUIViewサブクラス - デザインパターン

私の質問は、MVCデザインパターンに違反しているビュー内のコントローラロジックを持っている場合です。もしそうならば、例えばUIViewに何かをしたときに常にアニメーション化(バウンス)したい場合など、ビューのインスタンスを持つそれぞれのUIViewControllerに対してそのロジックを実装する必要はありません。

答えて

0

ビューのアニメーションのロジックを含むUIViewControllerを作成するだけで、ビューの所有者になることができます。

これをシングルトンのように使用し、コントローラが常にビューをアニメーション化するようにして、必要なすべての場所にビューを追加します。

あなたの最初の質問で答えてください、はい、コントローラコードをビューの中に入れればパターンが壊れます。

+0

しかし、 'UIViewController'を使用すると、コンテナが必要になります。そのようなことを防ぐためです。 NSObject'サブクラスのプロパティ(privateまたはpublic?publicの場合は読み取り専用)であるビューを管理するメソッドを実装して、 'NSObject'を代わりに使うことができます。 –

+0

どのような容器です。あなたは、プロパティまたはivar内のインスタンスを処理することができます..私はあなたの問題が表示されません –

関連する問題