我编写了一个复杂支持的测试应用程序。
由于某种原因,时钟只会出现1-2个向后事件,但在当前日期之前,我可以在日志中看到10-15个事件。当我返回一个用于前向事件的空数组时,我的所有向后事件都开始显示在时钟面板中。
这是我的功能
func getTimelineEntriesForComplication(complication: CLKComplication, beforeDate date: NSDate, limit: Int, withHandler handler: (([CLKComplicationTimelineEntry]?) -> Void)) {
var entries: [CLKComplicationTimelineEntry] = []
let events = self.events.filter { (event: CEEvent) -> Bool in
return date.compare(event.startDate) == .OrderedDescending
}
var lastDate = date.midnightDate
for event in events {
let entry = CLKComplicationTimelineEntry(date: lastDate, complicationTemplate: event.getComplicationTemplate(complication.family))
if let endDate = event.endDate {
lastDate = endDate
} else {
lastDate = event.startDate
}
entries.append(entry)
if entries.count >= limit {
break
}
}
handler(entries)
}我知道“极限”参数,它总是大于我数组的计数
抱歉,我的英语:)
发布于 2015-12-02 09:21:54
我在watchOS 2.0.1中看到了相同的行为,最初时间向后移动只显示了前面的两个条目,尽管数据源被要求并返回了100个条目。
发射后大约15分钟,开始出现更多的反向时间旅行条目。发射后约30分钟,所有100名先前参赛选手均到场。
这不是由于我计划的任何更新,因为我复杂的更新间隔是24小时。
似乎复杂的服务器优先添加前向条目,但是延迟使用所有反向时间旅行条目填充缓存。你必须问苹果,它是一个优化还是一个bug。
我不知道这是不是巧合,但我的时间表条目间隔15分钟。也许当复杂服务器更新复杂性以显示新的时间线条目时,它还会添加更多批处理的早期条目吗?
https://stackoverflow.com/questions/32953215
复制相似问题