从Web服务多次获得相同的响应

时间:2012-12-13 05:16:36

标签: iphone objective-c ios chat nsxmlparser

我正在制作私人聊天应用程序,其中我遇到了一些问题,如 -

1.有时我多次收到最后一次聊天。  2.有些时候像长大图像这样的长数据不合适。

我通过此代码每5秒调用一次Web服务 -

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:
                 [self methodSignatureForSelector: @selector(getNewMessages)]];
       [invocation setTarget:self];
        [invocation setSelector:@selector(getNewMessages)];
        timer1 = [NSTimer scheduledTimerWithTimeInterval:5.0 invocation:invocation repeats:YES];

所以我想问一下,收到完整数据后调用Web服务的正确方法是什么。我正在使用NSXMLParser来获取数据。

2 个答案:

答案 0 :(得分:3)

有两种方法可以解决这个问题 -

1)当您收到第一个请求的完整数据时,可以通过以下方法

调用另一个请求
-(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data 

2)完成解析后,您可以触发另一个请求 -

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

答案 1 :(得分:0)

请查看here,它可以让您在objective-c中选择最佳的xml解析器。

尝试使用TBXML解析器,因为解析xml比解析你的问题的NSXML解析器要快得多。