我的问题: 我创建了一个带有Tableview的AppleWatch APP。 通过点击特殊的行,我想切换到DetailController
所以在我的didSelectRowAtIndex Methode中我使用switch-case函数来查找我想要显示详细信息的行
override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {
switch(status) {
case "on":
Println()
case "off":
Println()
case "value":
self.presentControllerWithName("MyValue", context: "TheValue")
}
在我的DetailViewController中,我只想在标签中显示值。 所以我这样做了:
@IBOutlet var label: WKInterfaceLabel!
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
var TheValue = context as? String
label.setText(TheValue)
// Configure interface objects here.
}
现在是行为:如果没有Outlet,则显示DetailViewController,但是Outlet只运行了Activity Indikator,没有任何反应!
我的错误在哪里?
答案 0 :(得分:-1)
嗯,首先:不要这样做。通过故事板将表格中的segue连接到下一个Controller,而不是在代码中推送或显示它。然后你只需要设置下一个控制器的上下文,如下所示:
override func contextForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> AnyObject? {
if models.count > rowIndex {
return models[rowIndex]
}
return nil
}
第二:你是否正确地将标签插座连接到故事板?显示您的故事板的更多代码和屏幕截图。或者,更好的是,将项目上传到github并显示它。