параметр несовместимого типа (странная проблема) - PullRequest
2 голосов
/ 21 марта 2011

Я недавно скачал Xcode 4 и получил новое предупреждение, которого раньше не было.Следующий код (в классе FTSocialNetworkingController):

jsonConnection = [[FTJsonConnection alloc] initWithUrl:[NSURL URLWithString:urlString] 
                                                  delegate:self];

выдает это предупреждение:

FTSocialNetworkingController.m: warning: Semantic Issue: Sending 'FTSocialNetworkingController *' to parameter of incompatible type 'id<FTImageDownloaderDelegate>'

Я знаю, что означает проблема: self должно соответствовать протоколу FTImageDownloaderDelegate.Что странно в этом, так это то, что параметр делегата в методе initWithUrl:delegate: имеет тип id <FTJsonConnectionDelegate>, и метод объявлен так в классе FTJsonConnection (.h)

- (id)initWithUrl:(NSURL *)anUrl delegate:(id <FTJsonConnectionDelegate>)delegate;

Не знаюзнаю, почему он запрашивает FTImageDownloaderDelegate, поскольку я даже не использую его в классе FTSocialNetworkingController.

У меня только что возникла проблема сегодня, и я не знаю, откуда она взялась.Мои другие классы, которые используют метод initWithUrl:delegate:, не имеют проблемы.

Так что если кто-то имеет представление о том, что это такое ...

1 Ответ

0 голосов
/ 18 октября 2011

Попробуйте это:

jsonConnection = [[FTJsonConnection alloc] initWithUrl:[NSURL URLWithString:urlString] 
                                              delegate:(id)self];
...