无法在接口控制器之间传递数据

时间:2015-04-16 16:16:00

标签: swift watchkit

我在使用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。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

要在接口控制器之间传递数据,您需要添加此方法

pushControllerWithName:context: