2011-05-26 49 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'協議(在接口中)? – 2011-05-26 15:41:57

+0

噢好吧。得到它了。謝謝 !! – NSExplorer 2011-05-26 15:44:41

回答

24

更改線路:@interface XMLParserViewController : UIViewController(在你的.h文件):

@interface XMLParserViewController : UIViewController <NSXMLParserDelegate> 

你忘了把你的UIViewController作爲委託的委託(如果你願意)。

+1

+1使用正確的班級名稱,比我快一點。 – 2011-05-26 15:49:09

5

在自我申報,你應該有:

@interface YourClass <NSXMLParserDelegate> 

讓編譯器知道你的類符合NSXMLParserDelegate協議。