2

アプリをビルドすると、UITouch行に次のような警告が表示されます

互換性のないObject-c初期化'structNSArray *'、予期される'struct UITouch *'

 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
        UITouch *myTouch = [[event allTouches] allObjects];
        player.center = [myTouch locationInView:self.view];
    }

アプリを実行すると、プレーヤーをクリックしてから閉じるまで、すべて正常に起動します。誰か助けてもらえますか?

4

3 に答える 3

1

-allObjectsメソッドはタッチを返します。セットから単一のオブジェクトを取得する場合は、メソッドNSArrayを使用する必要があります。-anyObject

UITouch *myTouch = [[event allTouches] anyObject];
于 2012-06-16T09:33:54.410 に答える
0

おそらくあなたは意味しました:

UITouch *myTouch = [[event allTouches] anyObject];

また:

UITouch *myTouch = [touches anyObject];
于 2012-06-16T09:33:59.663 に答える
0

変数myTouchUITouchオブジェクトへのポインタです。ただし、ドキュメントを見ると、allTouchesリターンUIEventのは、、リターンのは。であることがわかります。したがって、オブジェクトが渡されることをコンピュータに伝えようとしていますが、ほぼ確実にオブジェクトが渡されます。NSSetallObjectsNSSetNSArraymyTouchUITouchNSArray

丸い穴に四角いペグを入れるようなものです。

于 2012-06-16T09:40:43.260 に答える