1

マルチタッチ処理メソッドをオーバーライドする UIView サブクラスがあります。私の質問は、そのビューに指定されたタッチで計算を実行すると、モデル ビュー コントローラーのデザイン パターンが壊れますか?. 計算後、ビューを非表示にして結果を印刷し、Core Data モデルを更新する必要があります。私はこれについて混乱しています。

編集:

いくつかのコード。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    // getting all the touches in the given gesture sequence
    NSSet *allTouches = [event allTouches];

    // checking taps count
    if ([allTouches count] == 3)
    {
        // here I print the results and do the calculations
        [self validateGestureSequenceWithTouches:allTouches];
    }

    // cleaning the view
    NSArray *subviews = [self subviews];
    for (UIView *view in subviews) {
       if (![view isKindOfClass:[UINavigationBar class]])
           [view removeFromSuperview];
    }
}
4

1 に答える 1

2

MVC ガイドラインに準拠するには、ビジネス レベルの計算をモデル レイヤーで行う必要があります。ただし、すべての計算が「ビジネス計算」に該当するわけではありません。多くの場合、次のような UI の問題を決定するために計算を実行する必要があります。

  • 個々の UI 要素の可視性
  • 個々の UI 要素のサイズ、
  • タッチの場所と方向、

等々。計算がビジネスの種類のものである場合は、それをモデルに移動する必要があります。それ以外の場合は、ビューまたはコントローラーに保持することをお勧めします。

于 2013-03-29T00:57:40.373 に答える