我使用NSXMLParser解析XML,如Apple Developer Documentation中所述。
我做解析器很好,但是当我想放入一个NSString时,对象解析器出现错误,使用SIGABRT。
例外是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[ClinicasAsociadasProfesionales objectForKey:]: unrecognized selector sent to instance 0x606c8c0'
我将对象保存在te NSMutableArray中,如:
-(void)parser:(NSXMLParser *)parser
didEndElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
{
if([elementName isEqualToString:@"Clinicas"])
{
return;
}
if([elementName isEqualToString:@"Clinica"])
{
[arrayClinicas addObject: varClinicasAsociadasProfesionales];
[varClinicasAsociadasProfesionales release];
}
if([elementName isEqualToString:@"NombreClinica"])
{
[varClinicasAsociadasProfesionales setValue:soapResults forKey:elementName];
}
if([elementName isEqualToString:@"IdClinica"])
{
[varClinicasAsociadasProfesionales setValue:soapResults forKey:elementName];
}
soapResults=nil;
[soapResults release];
elementoEncontrado = NO;
}
答案 0 :(得分:2)
崩溃不适用于此代码..您正在使用的地方
[ClinicasAsociadasProfesionales objectForKey:]
相反,你应该使用
[ClinicasAsociadasProfesionales valueForKey:]
当您使用setValue时:ForKey:将值设置为ClinicasAsociadasProfesionales对象的方法