gpt4 book ai didi

swift - 将对象添加到字典(而不是字典只保留最近的对象)Swift

转载 作者:搜寻专家 更新时间:2023-10-31 22:14:49 25 4
gpt4 key购买 nike

我正在(从 iOS)传递一些数据(colors),但是当我在另一端(WatchKit)接收到数据(colors)时,它只显示最近的一个字典项目


用于传递数据的 iOS 函数:

publicData.performQuery(query, inZoneWithID: nil) { results, error in
if error == nil { // There is no error
for play in results! {
let newPlay = Play()
newPlay.tColor = play["TColor"] as! String

do {
try WatchSessionManager.sharedManager.updateApplicationContext(["color" : newPlay.tColor])
NSLog("Dict: %@", ["color" : newPlay.tColor])
} catch {
print(error)
}
self.objects.append(newPlay)
}

所有三个 color 项都显示在 NSLog 函数中以传递数据。

Dict: {
color = FDB927;
}
Dict: {
color = 000000;
}
Dict: {
color = 000000;
}

用于接收数据的 WatchKit 函数:

func session(session: WCSession, didReceiveApplicationContext applicationContext: [String : AnyObject]) {
NSLog("Application Context %@", applicationContext.description)
dispatch_async(dispatch_get_main_queue()) { [weak self] in
self?.dataSourceChangedDelegates.forEach { $0.dataSourceDidUpdate(DataSource(data: applicationContext))}
}
}

但在 WatchKit 方面,只有最后一个 Dictionary 项显示在 NSLog 中:

Application Context ["color": 000000, "matchup"]

非常感谢任何帮助。谢谢!

最佳答案

这正是 WatchConnectivity 的 updateApplicationContext 的工作方式(只发送最新的)。如果您希望所有的字典都到达,您应该使用 transferUserInfo API,它将字典排队等待交付,而不是只交付最新的字典。

关于swift - 将对象添加到字典(而不是字典只保留最近的对象)Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32803860/

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