2012-11-29 17 views
1

我的应用程序有5个模块,每个模块数据存储在5个不同的管理对象中。我创建了一个搜索页面,用户可以在其中输入关键字来查找所有5个模块中的关键字。对于搜索栏中的每个文本更改,我都会刷新搜索结果表以显示匹配记录计数以及模块名称。如何执行多线程概念从Core数据中获取多个数据?

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

我不知道在iOS中实现线程概念,所以我试着通过阅读苹果的threading programming guideconcurrency programming guide来学习。我希望,我已经获得了关于线程的一些知识,但是当我尝试通过代码实现这些概念时,这有点复杂。

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

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

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

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

感谢

回答

0

有关于核心数据和背景线程here好的帖子!对于整个GCD来说,这已经不再那么难了,所以这可能是进一步研究这个话题的一个很好的切入点。

here是另一篇文章对这个话题。