如果我打电话:
someButton.setHidden(true)
someButton.setHidden(false)
someButton.setHidden(true)
是否可以保证按钮现在会被隐藏?
我知道在watchOS 1中,这些消息会从iPhone发送到Watch,但在watchOS 2中它应该在同一台设备上运行 - 但鉴于没有办法检查对象是否隐藏,我对此有疑问有什么保证。
由于
答案 0 :(得分:2)
该按钮将被隐藏,因为true
是最后生效的值。
来自WKInterfaceObject Class Reference:
WatchKit合并来自同一运行循环迭代期间进行的所有setter方法调用的数据,并在运行循环结束时将其传输到设备。如果在同一运行循环迭代中将属性设置为不同的值,则仅传输最后一个值。
按钮永远不会被隐藏,显示,然后再次隐藏,因为之前的消息不会被运行循环应用。只有最后一条消息有效,并且只对该按钮进行了一次更新。
答案 1 :(得分:0)
您可能还想查看本文enable CORS关于watchOS 2的更改,因为现在在Watch上运行扩展我不确定它是否需要等待运行循环完成。
在watchOS 2中,WatchKit扩展程序不仅在用户的Apple Watch上运行,而且还在用户的Watch应用程序中提供。这种安排使Watch应用程序更容易访问存储在WatchKit扩展程序包中的资源。