I parse xml images urls from tableview to detailview when xml format is like
so I wrote like this
在下面的代码中有一些内容,所以我写了这样的代码。
这是另一种类型的标签,因此编写了像
这样的代码if ([elementObj isEqualToString:@"media:thumbnail"]) {
[Imagesarray addObject:attributeDict[@"url"]];
}
在findcharactor中我不使用这个,因为我在这里得到了数组
[Imagesarray addObject:attributeDict[@"url"]];
当我没有在didendelement方法中使用它时,因为它没有attributesstring
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
elementObj = elementName;
if ([elementObj isEqualToString:@"media:thumbnail"]) {
[Imagesarray addObject:attributeDict[@"url"]];
NSLog(@"%@ it is images array",Imagesarray);
}
if ([elementObj isEqualToString:@"item"]) {
_item = [[NSMutableDictionary alloc] init];
titleObj = [[NSMutableString alloc] init];
pubdataObj= [[NSMutableString alloc] init];
DiscriptionObj=[[NSMutableString alloc]init];
}
}
当我点击详细视图的后退按钮时,所有图像都会再次添加到数组中。如何为此编写代码。 请帮帮我。
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if ([elementObj isEqualToString:@"title"]) {
[titleObj appendString:string];
}
else if ([elementObj isEqualToString:@"pubDate"]) {
[pubdataObj appendString:string];
}
else if ([elementObj isEqualToString:@"description"]){
[DiscriptionObj appendString:string];
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@"item"]) {
[_item setObject:titleObj forKey:@"title"];
[_item setObject:pubdataObj forKey:@"pubDate"];
[_item setObject:DiscriptionObj forKey:@"description"];
[feedsArry addObject:_item];
[];
}
}
答案 0 :(得分:1)
尝试检查您是从viewdidappear还是viewwillappear方法解析数组。如果是,则只要打开视图,就会调用此方法。将解析移动到viewdidload会更好,只有在加载视图时才会调用它。