[英]Where should Apple Watch Complication data be stored?
我需要存储由主Watch应用程序(和iPhone应用程序)控制并以复杂方式显示的数据。
如果您需要获取或计算并发症数据,请在iOS应用或WatchKit扩展的其他部分中进行处理(例如,通过安排后台应用刷新任务),然后将数据缓存在并发症发生的地方数据源可以访问它。
当他们告诉您将数据缓存在并发症可以访问的地方时,他们有什么想法? 实现此目的的最佳实践/标准方法是什么?
您可以在UserDefaults中存储一些数据,然后从复杂数据源访问这些数据。
即。
//In a background task
func getComplicationData(){
let yourData = someNetworkCall()
/*
yourData = [
"complicationHeader": "Some string",
"complicationInner": "Some other stirng"
]
*/
UserDefaults.standard.set(yourData, forKey: "complicationData")
}
然后在您的ComplicationDataSource中
func getCurrentTimelineEntry(for complication: CLKComplication, withHandler handler: @escaping (CLKComplicationTimelineEntry?) -> Void) {
if let yourData = UserDefaults.standard.dictionary(forKey: "complicationData") as? [String: String] {
//Handle setting up templates for complications
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.