在我的应用程序中我显示了一个EKEvents列表,我想在UITableView中显示一个月的所有事件,每个部分包含相应的日期。嗯,这有效,我需要获取所有数据,但获取速度非常慢。
问题在于事件,这些事件分布在多天。
我得到了一个阵列,以回应11月份发生的所有事件,以及我的假期。 但我的假期只是一个EKEvent对象。因此,如果我想显示事件的每月列表视图,它将仅在11月10日出现一次,但为了清楚起见,我会在每天发生的时间显示它,10日,11日,...... 17日。 / p>
所以我要做的是,在一个月内每天迭代并进行一次获取: - /这样我获得了在特定日期发生的正确数量的事件,但......感觉非常复杂。 / p>
我已经将fetch放入dispatch_async中,因此fetch不会阻止UI,并且在fetch完成后,tableView会重新加载并重新绘制单元格。但它仍需要时间。没有用户友好的时间。
您如何执行这些搜索?您是否有任何关于如何加快搜索速度的提示,可能是一些代码片段或者可以指向正确的方向!?
我的问题清楚了吗? : - /
谢谢, -Martin。
答案 0 :(得分:0)
特别是如果有很多反复发生的事件,提取速度很慢。我在我的应用程序中所做的只是获取一次,并将整天多天跨越事件解析为块。我抽象了事件:我创建了“date”类,它具有可用作表视图中的节标题的NSString属性,其中一个ivars是具有匹配“events”的数组。 “events”不是EKEvents,而是我的类,我从EKEvents中复制了所需的属性。从单日整天EKEvent的多天开始,我创建了相应的“事件”。解析非常快 - 减速是从获取的重复EKEvents获取属性时。