swift - 手表操作系统 | 如何更新我的并发症?
问题描述
我目前正在开发一个 watchOS 应用程序,我正在尝试为它编写一个动态复杂功能。
我想要实现的是显示存储在核心数据中的不断变化的值。因此,并发症值应该相对于该值进行更新。
我曾尝试观看 WWDC 视频等,但一切似乎都太先进了。
这是我的实现的简化形式:
func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
let dataString = DataManager.shared.fetchData()
let textProvider = CLKTextProvider(format: dataString)
let template = CLKComplicationTemplateUtilitarianLargeFlat(textProvider: textProvider)
handler(CLKComplicationTimelineEntry(date: Date(), complicationTemplate: template))
}
核心数据部分:
func fetch() -> String {
let request = Item.fetchRequest()
do {
let items = try persistenceController.moc.fetch(request)
return ...
} catch { ... }
}
func update() { //<--- Here I want to call getCurrentTimelineEntry and so update the complication
...
persistenceController.saveContext()
#if os(watchOS) //<--- What I have tried, not working...
let server = CLKComplicationServer.sharedInstance()
server.activeComplications?.forEach(server.reloadTimeline)
#endif
}
谢谢!
解决方案
推荐阅读
- jenkins - Ansible Ignore_Unreachable 不起作用
- html - 在节点 server.js 中找不到模块
- python - 是否可以构建具有“0”和“1”字符的霍夫曼算法?
- uml-designer - 在 UML-Designer 中是否可以将另一个包中的类添加到另一个包类图中?
- java - 如何在创建 REST 服务的 Java 中从站点(例如报纸文章)中抓取数据?
- ms-access - VBA 关闭当前表单并返回新记录的不同表单
- android - 使用android服务时出现内存不足错误
- python - 如何在 SCRAPY 中处理 MIDDLEWARE 的多个请求(验证码和多次重试)
- oracle - 查询不使用复合索引 - 为什么?
- docker - Docker swarm 启动了太多进程