我有一个 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。NO
connectionDidFinishLoading
prepareForSegue
这是多线程问题吗?我对其他问题进行了研究,发现 NSURLConnection 有一个类方法sendAsynchronousRequest:queue:completionHandler:
,完成处理程序可能会有所帮助,但我不确定如何使用它。
另外:我想在最后一个连接完成后继续执行prepareForSegue
,而不是在它发送请求后立即执行。
提前致谢!