iphone - 从网络服务多次获得相同的响应

标签 iphone objective-c ios chat nsxmlparser

我正在制作一个私有(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/

相关文章:

ios - 无法比较if语句中的值

ios - 在关闭中转到另一个 ViewController 不能快速工作

iphone - 如何隐藏导航栏上的 UIbarbutton

iPhone编程: Applying Alpha to Parent but not to Child Views

iphone - 为什么 XCode 静态分析器无法检测到未发布的保留属性?

ios - 关闭 UIViewController 时闪烁

ios - 所有 UIVIewController 实时更新

ios - AVPlayer(或 AVAudioSession?)在我离开 ViewController 后播放,当我返回时,两个正在播放

iphone - uitableview 细胞图像 - 寻找加号

iphone - 如何在uitableview中禁用用户与单元格的交互