1

我的应用程序有 5 个模块,每个模块的数据存储在 5 个不同的托管对象中。我创建了一个搜索页面,用户可以在其中键入关键字以在所有 5 个模块中查找关键字。对于搜索栏中的每个文本更改,我刷新了搜索结果表以显示匹配记录数以及模块名称。

因此,对于搜索栏中的每次按下,我都需要从所有 5 个模块中获取匹配的数据计数。如果应用程序的记录数量最少,这很简单。但是,就我而言,总记录数非常多,因此通过键入的搜索词从 5 个模块中获取数据所花费的时间非常巨大,这使得应用程序冻结。

我对在 iOS 中实现线程概念一无所知,所以我尝试通过阅读 Apple 的线程编程指南并发编程指南来学习。我希望,我获得了一些关于线程的知识,但是当我尝试通过代码实现这些概念时,它有点复杂。

我的要求是,我有一些应该使用线程概念调用的函数。考虑的功能是,

function1() {...}
function2() {...}
function3() {...}
function4() {...}
function5() {...}

我想同时调用这 5 个函数,这样就没有人可以等待其他人完成。还有一点是,当上述函数获取记录时,如果用户在搜索栏中键入/擦除文本,我想取消/停止所有线程,我需要对这些函数执行另外 5 次新的调用。

我正在寻找建议,任何类型的工作示例代码,示例。任何帮助将不胜感激。

谢谢

4

1 回答 1

0

这里有一篇关于核心数据和后台线程的好文章!有了整个 GCD 的东西,这不再那么难完成了,所以这可能是进一步研究这个主题的一个很好的切入点。

这是该主题的另一篇文章

于 2012-11-29T19:10:00.180 回答