2011-05-26 2 views
6

Я пытаюсь создать NSXMLParser и вызывать его методы делегирования. При установке делегата на себя (вторая строка ниже) я получаю предупреждение Sending 'XMLParserViewController *' to a parameter of incompatible type 'id <NSXMLParserDelegate>'. Что мне здесь не хватает?Невозможно установить делегат NSXMLParser самостоятельно

NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data]; 
[parser setDelegate:self]; 
[parser parse]; 
[parser release]; 
+1

Соответствует ли ваш класс 'XMLParserViewController' протоколу' NSXMLParserDelegate' (в интерфейсе)? –

+0

О, хорошо. Понял. Благодаря !! – NSExplorer

ответ

24

Изменить строку: @interface XMLParserViewController : UIViewController (в вашем файле .h) по адресу:

@interface XMLParserViewController : UIViewController <NSXMLParserDelegate> 

Вы забыли установить UIViewController в качестве делегата от делегата (если будет).

+1

+1 Для использования правильного имени класса и немного быстрее меня. –

5

В декларации себе вы должны иметь:

@interface YourClass <NSXMLParserDelegate> 

, чтобы компилятор знал, что ваш класс соответствует протоколу NSXMLParserDelegate.

Смежные вопросы