Swift 观看。将数据从一个视图控制器发送到另一个
Swift watch. Sending data from one view controller to another
我正在尝试将 Data class 对象的实例从我的 ViewController 发送到 DataViewControllerSwift。
ViewController
var data : Data = Data()
data = dataList?.objectAtIndex(rowIndex) as Data
var dataViewController : DataViewControllerSwift?
dataViewController!.data = data
self.pushControllerWithName("DataaaViewControllerSwift", context: nil)
数据ViewController斯威夫特
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)
以便您可以通过 context
将数据从 ViewController
传递到 DataViewController
其次,在您的 DataViewController
的 override func awakeWithContext(context: AnyObject?)
方法中,您可以执行以下操作以获取从 ViewController
传递的数据:
if let theData = context as? Data {
self.data = theData
}
我正在尝试将 Data class 对象的实例从我的 ViewController 发送到 DataViewControllerSwift。
ViewController
var data : Data = Data()
data = dataList?.objectAtIndex(rowIndex) as Data
var dataViewController : DataViewControllerSwift?
dataViewController!.data = data
self.pushControllerWithName("DataaaViewControllerSwift", context: nil)
数据ViewController斯威夫特
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)
以便您可以通过 context
ViewController
传递到 DataViewController
其次,在您的 DataViewController
的 override func awakeWithContext(context: AnyObject?)
方法中,您可以执行以下操作以获取从 ViewController
传递的数据:
if let theData = context as? Data {
self.data = theData
}