![](/img/trans.png)
[英]UIImagePickerController delegate method not called (delegate set to self)
[英]How to set Parser Delegate to Self in ARC environment?
嘿,我过去曾经使用过解析器,但从未在ARC环境中使用过。 现在,当我尝试将解析器设置为self时,会给我一条错误消息,然后不解析我的数据。 有人知道问题是什么以及如何解决?
这是当我尝试将解析器委托设置为self时收到的警告:
Semantic Issue: Sending 'CharityController *const __strong' to parameter of incompatible type 'id<NSXMLParserDelegate>'
这是我的代码:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
if (connection == theConnection)
{
// do something with the data object.
//NSLog(@"Data from server is: %@",data);
NSString *test = [[NSString alloc]initWithData:data encoding:NSStringEncodingConversionAllowLossy];
NSLog(@"Data from server is: %@",test);
parser = [[NSXMLParser alloc] initWithData: data];
[parser setDelegate:self];
[parser parse];
}
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if ([elementName isEqualToString:@"root"]) {
currentStringValue = nil;
NSLog(@"I am inside the Parser at root!.");
return;
}
您是否在接口定义中使用了协议名称,以使编译器知道您符合该特定协议? 如:
@interface CharityClass : NSObject <NSXMLParserDelegate>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.