草庐IT

ios - WKInterfaceSwitch 开关 Action (值 : Bool) value is always false Apple Watch

coder 2024-01-24 原文

我目前正在开发 Apple Watch 应用程序。 我使用 WKInterfaceSwitch 来切换某物的状态。

在我的 WKIntefaceController 中,我连接了切换开关时调用的操作。

@IBAction func switchAction(value: Bool) {
    NSLog("\(value)")
}

当我在模拟器中运行项目时,控制台输出显然是:

2015-05-28 20:42:08.067 Watch Test WatchKit Extension[1503:28272] false
2015-05-28 20:42:08.896 Watch Test WatchKit Extension[1503:28272] true
2015-05-28 20:42:10.547 Watch Test WatchKit Extension[1503:28272] false
2015-05-28 20:42:11.558 Watch Test WatchKit Extension[1503:28272] true

当我在物理 watch 上运行项目时,控制台将显示:

2015-05-28 20:44:06.044 Watch Test WatchKit Extension[345:16118] false
2015-05-28 20:44:06.954 Watch Test WatchKit Extension[345:16118] false
2015-05-28 20:44:07.318 Watch Test WatchKit Extension[345:16118] false
2015-05-28 20:44:08.343 Watch Test WatchKit Extension[345:16118] false

有谁知道为什么会这样。

可以在此处下载显示该问题的完整项目:

https://bitbucket.org/rcpfuchs/watch-kit-wkinterfaceswitch-issue


这似乎只发生在某些设备上,所以如果您正在开发 Apple Watch 应用程序,最好按如下方式跟踪状态:

var switchValue = false // the value you chose in storyboard
@IBAction func switchAction(value: Bool) {
// ignore value
    switchValue = !switchValue
// do something with switchValue
}

最佳答案

我也有同样的问题!

可能感兴趣:我看到这种情况只发生在与 iPhone 5s 配对的一只 watch 上。

我没有看到与 iPhone 6 配对的不同 watch 出现同样的问题。该问题也没有显示在模拟器上。

两款 watch 都是1.01版本,两款手机都是iOS 8.3

我找不到直接修复,因为它看起来像是 WatchKit 中的某种错误。但是,解决方法非常简单。

我设置了一个 bool 型成员变量,用来记录开关的初始状态。然后,当回调进入时,我反转成员变量的状态,并使用它而不是 WatchKit 传递的值(我现在忽略它!)。

希望对您有所帮助!如果您发现更多问题,或者碰巧发现这是由 Apple 修复的,请在此处分享该信息!

注意:我已将此作为 bug 提交给 Apple,作为雷达 21171938

皮特

关于ios - WKInterfaceSwitch 开关 Action (值 : Bool) value is always false Apple Watch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30514783/

有关ios - WKInterfaceSwitch 开关 Action (值 : Bool) value is always false Apple Watch的更多相关文章

  1. ruby-on-rails - rails : How to make a form post to another controller action - 2

    我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak

  2. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  3. ruby-on-rails - 如何在 Rails Controller Action 上触发 Facebook 像素 - 2

    我有一个ruby​​onrails应用程序。我按照facebook的说明添加了一个像素。但是,要跟踪转化,Facebook要求您将页面置于达到预期结果时出现的转化中。即,如果我想显示客户已注册,我会将您注册后转到的页面作为成功对象进行跟踪。我的问题是,当客户注册时,在我的应用程序中没有登陆页面。该应用程序将用户带回主页。它在主页上显示了一条消息,所以我想看看是否有一种方法可以跟踪来自Controller操作而不是实际页面的转化。我需要计数的Action没有页面,它们是ControllerAction。是否有任何人都知道的关于如何执行此操作的gem、文档或最佳实践?这是进入布局文件的像素

  4. Ruby 文件 IO 定界符? - 2

    我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的

  5. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  6. Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting - 2

    1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里

  7. ruby-on-rails - 优雅的 Rails : multiple routes, 相同的 Controller Action - 2

    让多条路线去同一条路的最优雅的方式是什么ControllerAction?我有:get'dashboard',to:'dashboard#index'get'dashboard/pending',to:'dashboard#index'get'dashboard/live',to:'dashboard#index'get'dashboard/sold',to:'dashboard#index'这很丑陋。有什么“更优雅”的建议吗?一个类轮的奖励积分。 最佳答案 为什么不只有一个路由和一个Controller操作,并根据传递给它的参数来

  8. ruby - 为什么不能使用类IO的实例方法noecho? - 2

    print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上

  9. ruby - Ruby 中的 bool 方法? - 2

    为了问这样的问题:MyClass::create().empty?如何在MyClass中设置empty?Empty(true/false)取决于类变量@arr是否为空。 最佳答案 问号实际上是方法名称的一部分,因此您可以这样做:classMyClassdefempty?@arr.empty?#Implicitlyreturned.endend 关于ruby-Ruby中的bool方法?,我们在StackOverflow上找到一个类似的问题: https://st

  10. ruby-on-rails - Rails Rspec 测试 Controller 新 Action - 2

    我正在尝试在我的Controller中测试新操作。目前它看起来像这样:Controllerdefnew@business=Business.new@business.addresses.buildend规范describe'GET#new'doit'assignsanewbusinessto@business'doget:newexpect(assigns(:business)).tobe_a_new(Business)endend我想测试“@business.addresses.build”这一行。我该怎么做?提前致谢! 最佳答案

随机推荐