`setHidden`消息到`WKInterfaceObject`保证按顺序传递吗?

时间:2016-02-01 16:30:51

标签: watch-os-2

如果我打电话:

someButton.setHidden(true)
someButton.setHidden(false)
someButton.setHidden(true)

是否可以保证按钮现在会被隐藏?

我知道在watchOS 1中,这些消息会从iPhone发送到Watch,但在watchOS 2中它应该在同一台设备上运行 - 但鉴于没有办法检查对象是否隐藏,我对此有疑问有什么保证。

由于

2 个答案:

答案 0 :(得分:2)

该按钮将被隐藏,因为true是最后生效的值。

来自WKInterfaceObject Class Reference

  

WatchKit合并来自同一运行循环迭代期间进行的所有setter方法调用的数据,并在运行循环结束时将其传输到设备。如果在同一运行循环迭代中将属性设置为不同的值,则仅传输最后一个值。

按钮永远不会被隐藏,显示,然后再次隐藏,因为之前的消息不会被运行循环应用。只有最后一条消息有效,并且只对该按钮进行了一次更新。

答案 1 :(得分:0)

您可能还想查看本文enable CORS关于watchOS 2的更改,因为现在在Watch上运行扩展我不确定它是否需要等待运行循环完成。

  

在watchOS 2中,WatchKit扩展程序不仅在用户的Apple Watch上运行,而且还在用户的Watch应用程序中提供。这种安排使Watch应用程序更容易访问存储在WatchKit扩展程序包中的资源。