0

我有一个 UITableView,当用户点击表格底部时,它会从服务器请求更多数据(类似于 Twitter 应用程序)。但是,我正在尝试使用模态 segue 来过滤出符合用户需求的数据。为了正确选择要过滤的数据,我必须加载所有数据以对其进行分类。为了加载所有内容,我需要发送多个 NSURLConnections 来加载多个页面。我试图拥有它,所以当一个完成时,下一个开始。

但是,由于连接完成后connectionDidFinishLoading,我还没有想出一种从内部同时发送 NSURLConnections 的方法prepareForSegue。我尝试如下使用while循环prepareForSegue

while (All of the data is not loaded) {
    if (isLoading == NO) {
        [self loadMoreResults];
    }
}

其中“isLoading”是BOOL在我的视图控制器的实现文件中声明的。isLoading 在里面将 value 更改为 YES ,并在结束时loadMoreResults更改回。但是,在 内,isLoading 永远不会从 YES 变回 NO。NOconnectionDidFinishLoadingprepareForSegue

这是多线程问题吗?我对其他问题进行了研究,发现 NSURLConnection 有一个类方法sendAsynchronousRequest:queue:completionHandler:,完成处理程序可能会有所帮助,但我不确定如何使用它。

另外:我想在最后一个连接完成后继续执行prepareForSegue,而不是在它发送请求后立即执行。

提前致谢!

4

1 回答 1

0

然后,您不应该将 segue 直接从栏按钮项链接到情节提要中的视图控制器。

只需将带有标识符的通用 segue 从表视图控制器链接到过滤器视图控制器。

并从 bar 按钮项中,从情节提要中为其创建一个操作,以便您可以先发送多个 NSURLConnections。

最后然后在您的代码中,在最后一个连接完成后,调用该performSegueWithIdentifier方法。

于 2013-05-23T09:16:51.527 回答