XMLParser Iphone设备问题

XMLParser Iphone设备问题,iphone,ios-simulator,Iphone,Ios Simulator,我开发了一个应用程序,它使用XML解析器加载指定的url。 此URL有时会更改,并且每4秒重新加载一次。(通过NSTIMER) 在模拟器上它工作得很好,但在设备上它总是一样的(就像一种缓存) -(void)parseXMLFileAtURL:(NSString*)URL{ NSLog(@“解析的XML URL:%@”,URL); currentURL=[URL副本];; 教程=[[NSMutableArray alloc]init]; 设置=[[NSMutableArray alloc]init

我开发了一个应用程序,它使用XML解析器加载指定的url。 此URL有时会更改,并且每4秒重新加载一次。(通过NSTIMER)

在模拟器上它工作得很好,但在设备上它总是一样的(就像一种缓存)

-(void)parseXMLFileAtURL:(NSString*)URL{
NSLog(@“解析的XML URL:%@”,URL);
currentURL=[URL副本];;
教程=[[NSMutableArray alloc]init];
设置=[[NSMutableArray alloc]init];
NSURL*xmlURL=[NSURL URLWithString:URL];
xmlParser=[[NSXMLParser alloc]initWithContentsOfURL:xmlURL];
[xmlParser setDelegate:self];
[xmlParser parse];
}
-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName属性:(NSDictionary*)attributeDict{
currentElement=[elementName copy];
if([elementName IsequalString:@“item”]){
item=[[NSMutableDictionary alloc]init];
currentTitle=[[NSMutableString alloc]init];
currentImage=[[NSMutableString alloc]init];
currentLink=[[NSMutableString alloc]init];
currentDetails=[[NSMutableString alloc]init];
}
如果([elementName IsequalString:@“设置”]){
设置=[[NSMutableDictionary alloc]init];
currentTitle=[[NSMutableString alloc]init];
currentTyp=[[NSMutableString alloc]init];
currentLink=[[NSMutableString alloc]init];
}
}
-(void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName
{
if([elementName IsequalString:@“item”]){
NSLog(@“currenttitle:%@”,currenttitle);
[item setObject:currentTitle forKey:@“title”];
[item setObject:currentImage forKey:@“image”];
[item setObject:currentLink-forKey:@“链接”];
[item setObject:currentDetails forKey:@“details”];
[教程添加对象:[项目副本]];
}
如果([elementName IsequalString:@“设置”]){
NSLog(@“Currentsettingtitle:%@”,currentTitle);
[设置setObject:currentTitle forKey:@“title”];
[设置setObject:currentTyp forKey:@“typ”];
[设置setObject:currentLink-forKey:@“链接”];
[设置添加对象:[设置复制]];
}
}
}
-(void)解析器:(NSXMLParser*)解析器查找字符:(NSString*)字符串
{
if([currentElement IsequalString:@“title”]){
[currentTitle appendString:string];
}
if([currentElement IsequalString:@“image”]){
[currentImage appendString:string];
}   
if([currentElement IsequalString:@“link”]){
[currentLink appendString:string];
}
if([currentElement IsequalString:@“typ”]){
[currentTyp appendString:string];
}
if([currentElement IsequalString:@“details”]){
[currentDetails appendString:string];
}
}
-(void)parserDidEndDocument:(NSXMLParser*)解析器
{
NSLog(“Fertig mit文件”);
对于(inti=0;i这是一堆代码(无法避免xml解析)

但是,从您的问题来看,xml解析似乎没有问题

因此,相反,请关注与计时器相关的代码?可能在它实际获得新URL时添加一些日志??只是为了确保您获得了新的请求???

这是一些代码(无法避免使用xml解析)

但是,从您的问题来看,xml解析似乎没有问题


因此,相反,请关注与计时器相关的代码?可能在它实际获得新URL时添加一些日志??只是为了确保您获得了新请求???

您应该尝试使用数据初始化解析器

并通过NSURLRequest和NSURLConnection获取您的数据:

NSURL *xmlURL=[NSURL URLWithString:URL];
NSURLRequest *request = [NSURLRequest requestWithURL:xmlURL cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:0.0f];
xmlParser =[[NSXMLParser alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//etc.

您应该尝试用数据初始化解析器

并通过NSURLRequest和NSURLConnection获取您的数据:

NSURL *xmlURL=[NSURL URLWithString:URL];
NSURLRequest *request = [NSURLRequest requestWithURL:xmlURL cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:0.0f];
xmlParser =[[NSXMLParser alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//etc.

您可能希望格式化该代码,以便人们可能会费心阅读它…您的问题无法阅读。在任何情况下,您可能包含了太多的代码。您是否可以通过常见的疑难解答方法将问题缩小到一个或两个方法,而不是发布所有的代码?您可能希望格式化该代码,以便人们能够理解你的问题是无法阅读的。在任何情况下,你都可能包含太多的代码。你能通过常见的故障排除方法将问题缩小到一个或两个方法,而不是发布所有的代码吗?