我正在制作一个私有(private)聊天应用程序,我遇到了一些问题,比如 -
1.有时我多次收到最后一次聊天。 2.有时候像大图这样的长数据,来不及。
我通过这段代码每 5 秒调用一次网络服务 -
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:
[self methodSignatureForSelector: @selector(getNewMessages)]];
[invocation setTarget:self];
[invocation setSelector:@selector(getNewMessages)];
timer1 = [NSTimer scheduledTimerWithTimeInterval:5.0 invocation:invocation repeats:YES];
所以我想问一下,在收到完整数据后调用网络服务的正确方法是什么。我正在使用 NSXMLParser 获取数据。
最佳答案
有两种方法可以解决这个问题-
1) 当你收到第一个请求的完整数据时,你可以调用另一个请求,方法如下
-(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data
2) 完成解析后,您可以触发另一个请求 -
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
关于iphone - 从网络服务多次获得相同的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13853421/