如何将数据从 View controller 传递到 Container?
How to pass data from View controller to Container?
我在使用 Swift 编程方面相当陌生,需要将一些数据传递给容器视图。
我将变量从另一个 VC 传递到 Eyewear Detail View Controller,然后我想将其传递到连接到 table 的 Container。
在这里,我有一个字典,我喜欢把我喜欢的信息放在table。
我一直在绞尽脑汁寻找答案,但在 Google 搜索中一无所获。也许你们可以帮助我。谢谢!
您可以使用- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
传递数据。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.destinationViewController isKindOfClass:[YourContainedViewController class]]) {
// set data here
}
}
首先在故事板中设置segue标识符。点击segue link.
后可以找到可以设置identifier的字段
接下来将调用的视图控制器ViewController
func showSomeViewController() {
self.performSegueWithIdentifier("TestContainer", sender: self);
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "TestContainer")
{
let vc: TestViewController = segue.destinationViewController as! TestViewController
vc.tmpString = "say ho"
}
}
和测试ViewController
class TestViewController: UIViewController {
var tmpString: String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
我在使用 Swift 编程方面相当陌生,需要将一些数据传递给容器视图。
我将变量从另一个 VC 传递到 Eyewear Detail View Controller,然后我想将其传递到连接到 table 的 Container。
在这里,我有一个字典,我喜欢把我喜欢的信息放在table。
我一直在绞尽脑汁寻找答案,但在 Google 搜索中一无所获。也许你们可以帮助我。谢谢!
您可以使用- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
传递数据。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.destinationViewController isKindOfClass:[YourContainedViewController class]]) {
// set data here
}
}
首先在故事板中设置segue标识符。点击segue link.
后可以找到可以设置identifier的字段接下来将调用的视图控制器ViewController
func showSomeViewController() {
self.performSegueWithIdentifier("TestContainer", sender: self);
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "TestContainer")
{
let vc: TestViewController = segue.destinationViewController as! TestViewController
vc.tmpString = "say ho"
}
}
和测试ViewController
class TestViewController: UIViewController {
var tmpString: String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}