didSelectRowAt Index 冻结了 Apple Watch 应用
Posted
技术标签:
【中文标题】didSelectRowAt Index 冻结了 Apple Watch 应用【英文标题】:didSelectRowAtIndex freezes the Apple Watch app 【发布时间】:2016-03-27 15:30:04 【问题描述】:在我的 WatchKit 应用程序中,我有一个表格视图,我试图通过在表格中按下两个不同的行(最后一行和之前的一行)来执行两种不同的方法。
下面的代码运行method1
,但从不执行method2
,即使tableView.numberOfRows
是正确的。应用程序没有执行 method2,而是无休止地加载并冻结。
代码可能有什么问题?
override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int)
if table==tableView && rowIndex==tableView.numberOfRows-2
print("Its up")
print(tableView.numberOfRows)
method1()
else if table==tableView && rowIndex==tableView.numberOfRows-1
print("It's down")
print(tableView.numberOfRows)
method2()
else
print("Nothing is happening")
【问题讨论】:
它是否进入第二块并打印它已关闭.. 如果 ao 则显示方法 2 中发生的情况 我会附上调试器以查看或查看手机的设备窗口日志,听起来像是崩溃了。 @ArunGupta 问题是 - 它从不执行方法 2,它甚至在那之前就冻结了。用调试器检查。 您是否有任何理由检查 tableView 和 tableView.numberOfRows 的状态,可以很容易地被数据源或数组替换以进行显示。如果 list 是您的数组,您可以将 list.count -2 替换为第一个 if 和 list.count - 1 替换第二个条件。 【参考方案1】:if table=tableView && rowIndex==tableView.numberOfRows-2
也许第一个相等应该是==
【讨论】:
其实它已经是 ==,我拼错了代码。这不是问题。 发布方法 1 和 numofrows 方法 让我们假设method1只是打印出一个字符串-numberOfRows表示tableView中的行数,它本身不是一个方法以上是关于didSelectRowAt Index 冻结了 Apple Watch 应用的主要内容,如果未能解决你的问题,请参考以下文章
TableView _:didSelectRowAt: 仅在滑动触摸时触发
Pickerview 选择行和 didSelectRowAt 函数
Xcode 8 / Swift 3:didSelectRowAt 与 didSelectRowAtIndexPath