我正在尝试将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
其次,在
DataViewController
的override func awakeWithContext(context: AnyObject?)
方法中,您可以执行以下操作来获取从ViewController
传递的数据:if let theData = context as? Data {
self.data = theData
}