gpt4 book ai didi

iphone - 加快 EKEvents 的获取速度

转载 作者:行者123 更新时间:2023-12-03 20:15:48 28 4
gpt4 key购买 nike

在我的应用程序中,我显示 EKEvents 列表,我想在 UITableView 中显示一个月的所有事件,每个部分包含各自的日期。嗯,这可行,我得到了我需要的所有数据,但获取速度非常慢。

问题在于事件持续多天。

  • 假设我将于 11 月 10 日至 17 日休假。
  • 我的搜索谓词的开始日期为 11 月 1 日,结束日期为 11 月 30 日。
  • 我执行 enumerateEventsMatchingPredicate 或 eventsMatchingPredicate,无论如何,两者都很慢。

我得到了一个数组作为返回,其中包含 11 月份发生的所有事件以及我的假期。但我的假期只是一个 EKEvent 对象。因此,如果我想显示事件的每月 ListView ,它只会在 11 月 10 日出现一次,但为了清楚起见,我会在事件发生的每一天(10 日、11 日……17 日)显示它。

所以我所做的是,迭代一个月中的每一天并进行获取:-/这样我就可以获得特定日期发生的正确事件数量,但是......感觉很复杂。

我已经将获取放入dispatch_async中,因此获取不会阻塞UI,并且在获取完成后,tableView将被重新加载并重新绘制单元格。但这仍然需要时间。没有用户友好的时间。

您如何执行这些搜索?您对如何加快搜索速度有什么建议吗?也许是一些代码片段,或者可以为我指明正确的方向!?

我的问题清楚吗? :-/

谢谢, -马丁。

最佳答案

获取速度很慢,尤其是在存在大量重复事件的情况下。我在应用程序中所做的就是仅获取一次,并将全天多跨日事件解析为 block 。我抽象了事件:我创建了“date”类,它具有可用作 TableView 中的部分标题的 NSString 属性,并且它的 ivars 之一是具有匹配“事件”的数组。 “事件”不是 EKEvents,而是我的类,我从 EKEvents 复制所需的属性。从跨越单个全天的多天 EKEvent 我创建相应的“事件”。解析速度非常快 - 当从获取的重复 EKEvent 获取属性时速度会变慢。

关于iphone - 加快 EKEvents 的获取速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011500/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com