应该在哪里Apple关注并发症的数据储存在哪里?

问题描述 投票:1回答:1

我需要存储年代由主要看应用程序(和iPhone应用程序)控制和并发症显示的数据。

official Apple documentation

如果您需要在您的iOS应用或在您的WatchKit延伸的其他部分(例如,通过调度后台程序刷新任务)在一个地方,你的并发症获取或计算您的复杂数据,这样做,并缓存数据数据源可以访问它。

他们有什么记住,当他们告诉你缓存在并发症可以访问它的地方的数据?什么是实现这一目标的最佳实践/标准的方式?

ios swift watchkit apple-watch-complication
1个回答
0
投票

你可以存储在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
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.