我在使用WatchKit应用程序中将字符串传递给新的接口控制器时遇到问题。到新接口控制器的segue连接在表格行的故事板中。这是我选择表格行的代码:
var selectedElement: String!
override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {
switch rowIndex{
case 0:
selectedElement = menuElements.objectAtIndex(0) as! String
case 1:
selectedElement = menuElements.objectAtIndex(1) as! String
case 2:
selectedElement = menuElements.objectAtIndex(2) as! String
default:
break
}
}
然后我使用此方法将selectedElement变量作为上下文传递:
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
return selectedElement
}
在我的SecondInterfaceController类中,我试图使用此代码在标签中显示上下文字符串:
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
label.setText(context as? String)
}
这会产生一个空白标签,我也尝试将上下文打印到控制台,它返回nil。
提前感谢您的帮助。
答案 0 :(得分:2)
要在接口控制器之间传递数据,您需要添加此方法
pushControllerWithName:context: