0

我在运行循环上调度流对象,服务器检索正确的信息等,但是在调度写入 NSOutputStream 的请求之后,我收到的事件比预期的要晚很多,从而搞砸了控制流。我使用NSStreamDelegate 协议中的以下方法处理事件:

- (void)stream:(NSStream*)theStream handleEvent:(NSStreamEvent)streamEvent 

我按如下方式调用查询,直到循环退出后才收到事件:

for (NSMutableArray* objs in allObjs) {

    for (Obj* o in objs) {

        [self searchQuery:[NSString stringWithFormat:@"%@ foo", o.bar]];
    }
}

我尝试创建一个全局变量来标记最近调度的事件是否已被处理,这会在内部 for 循环中再次迭代之前循环,但会无限期地运行。

在内部 for 循环中再次迭代之前,我应该如何正确等待查询的每个结果?

提前致谢!:)

旁注:我的 iOS 应用程序正在使用 TCP 套接字与我用 Python 编写的服务器通信,遵循Cesare Rocchi 的本教程

4

0 回答 0