我正在制作私人聊天应用程序,其中我遇到了一些问题,如 -
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来获取数据。
答案 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解析器要快得多。