Метод не найден в протоколе: Цель C - PullRequest
1 голос
/ 27 июля 2010

У меня есть это в моем контроллере представления:

[[[UIApplication sharedApplication] delegate] sendMessageAsSingleObject:[sender currentTitle]];

Что дает мне это предупреждение:

warning: '-sendMessageAsSingleObject:' not found in protocol(s)

Но в моем AppDelegate у меня есть метод, объявленный в заголовке ...

Я должен добавить, что вызов работает, просто хочу избавиться от предупреждений.

Спасибо

1 Ответ

5 голосов
/ 27 июля 2010
[[UIApplication sharedApplication] delegate]

Возвращает объект, который реализует протокол UIApplicationDelegate.Этот протокол не имеет метода sendMessageAsSingleObject.Так что ваш компилятор не знает, что этот метод на самом деле там.Сначала необходимо привести делегата к определенному классу вашего делегата приложения.

MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate sendMessageAsSingleObject:[sender currentTitle]];
...