我正在尝试将一个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()
然而我只是出错了。
答案 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
}