0
-(void)rotateView:(id)sender {
CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI);
[sender setTransform:rotateTransform];//the error is shown here
}

-setTransformという名前の複数のメソッドが見つかりましたという警告エラーが表示されます。ヘッダー ファイルに #import AVFoundation/AVFoundation.h がある場合にのみ表示されます。助言がありますか?ありがとう

4

1 に答える 1

5

適切なクラス型にキャストsenderすると、警告が消えるはずです:

[(YourClassHere *)sender setTransform:rotateTransform];

asがas 型senderに渡されるXcode は、それが実際のクラス型であり、それによってどのメソッドを呼び出すかを知ることができません。rotateView:id

編集: 偶然にもちょうど今日、Cocoa With Loveで有名なMatt Gallagherが、Objective-C であいまいなメソッドを呼び出すことによって引き起こされるあらゆる種類の問題に関する記事を公開しました。id

于 2011-06-30T19:37:35.103 に答える