迅捷手表。将数据从一个视图控制器发送到另一个

时间:2015-03-25 15:43:08

标签: ios swift instance watchkit

我正在尝试将一个Data类对象的实例从我的ViewController发送到DataViewControllerSwift。

的ViewController

var data : Data = Data()

data = dataList?.objectAtIndex(rowIndex) as Data
var dataViewController : DataViewControllerSwift?

dataViewController!.data = data
self.pushControllerWithName("DataaaViewControllerSwift", context: nil)

DataViewControllerSwift

 class DataViewControllerSwift: WKInterfaceController {
 var data : Data! = Data()
 }

但是我的DataViewControllerSwift中的数据实例是nil。我有点困惑,不知道为什么会这样。

我累了这个

 var dataViewController : DataViewControllerSwift? = DataViewControllerSwift()

然而我只是出错了。

1 个答案:

答案 0 :(得分:1)

这不是在WatchKit中控制器之间传递数据的好方法。

首先,在您的ViewController中,您应该

var data = dataList?.objectAtIndex(rowIndex) as Data
self.pushControllerWithName("DataViewControllerSwift", context: data)

这样您就可以通过ViewController

将数据从DataViewController传递到context

其次,在您的DataViewController override func awakeWithContext(context: AnyObject?)方法中,您可以执行以下操作以获取从ViewController传递的数据:

if let theData = context as? Data {
   self.data = theData
}