2010-07-27 3 views
1

У меня есть это на мой взгляд контроллера:метод не найден в протоколе: Objective C

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

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

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

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

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

Благодаря

ответ

5
[[UIApplication sharedApplication] delegate] 

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

MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate]; 
[appDelegate sendMessageAsSingleObject:[sender currentTitle]]; 
Смежные вопросы