didSelectRowAtIndex no se llama para WKInterfaceTable

He creado un segue push en el storyboard desde un WKInterfaceTableCell a otro WKInterfaceController (llamado DetailInterfaceController ).

Cuando didSelectRowAtIndex en la fila, didSelectRowAtIndex no se llama.

¿Alguien sabe dónde estoy yendo mal, y cómo puedo pasar el hilo?

TableInterfaceController

didSelectRowAtIndexPath print didSelectRowAtIndexPath no se llama

 @IBOutlet var table: WKInterfaceTable! var objectsArray = ["1","2","3"] var object: String! override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) { self.object = self.objectsArray[rowIndex] print(" object title: \(self.object)") } override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? { // You may want to set the context's identifier in Interface Builder and check it here to make sure you're returning data at the proper times // Return data to be accessed in ResultsController return self.object } 

DetallesInterfaceController

La label no está establecida

 @IBOutlet var label: WKInterfaceLabel! override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) // Make sure data was passed properly and update the label accordingly if let val: String = context as? String { self.label.setText(val) } else { self.label.setText("") } // Configure interface objects here. } 

Por qué no se llama:

Es normal para la table:didSelectRowAtIndex: no se debe llamar desde que utilizó un storyboard segue. De la documentation de WKInterfaceController :

Si conectó un método de acción a la tabla en su file de storyboard, WatchKit no llama a este método .

Cómo pasar los datos de fila seleccionados:

Debe usar contextForSegueWithIdentifier:inTable:rowIndex: para devolver el context de la fila seleccionada:

 override func contextForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> AnyObject? { if segueIdentifier == "someSegueIdentifier" { return objectsArray[rowIndex] } return nil }