0

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

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 来获取数据。

4

2 回答 2

3

有两种方法可以处理这个 -

1)当您收到第一个请求的完整数据时,您可以调用另一个请求,方法如下

-(void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data 

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

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
于 2012-12-13T05:54:21.433 回答
0

请看这里,它可以让您了解在 Objective-c 中选择最佳 xml 解析器。

尝试使用 TBXML 解析器,因为它解析 xml 比 NSXML 解析器要快得多,这可能会解决您的问题。

于 2012-12-13T05:50:42.523 回答