DataViewControllerSwift

DataViewControllerSwift

我正在尝试将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中为零。我有点困惑,不知道为什么会这样。

我累了
 var dataViewController : DataViewControllerSwift? = DataViewControllerSwift()

但是我只有一个错误。

最佳答案

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

首先,在ViewController中,您应该

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

这样您就可以通过ViewController将数据从DataViewController传递到context
其次,在DataViewControlleroverride func awakeWithContext(context: AnyObject?)方法中,您可以执行以下操作来获取从ViewController传递的数据:
if let theData = context as? Data {
   self.data = theData
}

10-04 19:48