Найдено несколько методов с именем -setTransform: - PullRequest
0 голосов
/ 30 июня 2011
-(void)rotateView:(id)sender {
CGAffineTransform rotateTransform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI);
[sender setTransform:rotateTransform];//the error is shown here
}

Я получаю эту предупреждающую ошибку, которая появляется и говорит, что несколько методов с именем -setTransform: found. Он появляется только когда у меня есть #import AVFoundation / AVFoundation.h в моем заголовочном файле. Какие-либо предложения? Спасибо

1 Ответ

5 голосов
/ 30 июня 2011

Приведите sender к соответствующему типу класса, и предупреждение должно исчезнуть:

[(YourClassHere *)sender setTransform:rotateTransform];

Когда sender передается rotateView: как тип id XCode не может знать, какой это тип класса и каким методом вызывать.

Редактировать: По совпадению только сегодня Мэтт Галлахер из Какао с любовью слава опубликовал статью обо всех виды проблем, вызванных вызовом неоднозначного метода для id в Objective-C.

...