Ios 如何将数据从视图控制器传递到容器?
我对使用Swift编程相当陌生,需要向容器视图传递一些数据 我将变量从另一个VC传递到Eyewear Detail View控制器,然后将其传递到连接到表的容器 在这本书中,我有一本我喜欢放在表格中的信息字典 我一直在挠头寻找答案,但在谷歌搜索上运气不佳。也许你们能帮我。谢谢 您可以使用-voidprepareForSegue:UIStoryboardSegue*segue sender:idsender传递数据Ios 如何将数据从视图控制器传递到容器?,ios,swift,containers,Ios,Swift,Containers,我对使用Swift编程相当陌生,需要向容器视图传递一些数据 我将变量从另一个VC传递到Eyewear Detail View控制器,然后将其传递到连接到表的容器 在这本书中,我有一本我喜欢放在表格中的信息字典 我一直在挠头寻找答案,但在谷歌搜索上运气不佳。也许你们能帮我。谢谢 您可以使用-voidprepareForSegue:UIStoryboardSegue*segue sender:idsender传递数据 - (void)prepareForSegue:(UIStoryboardSegu
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.destinationViewController isKindOfClass:[YourContainedViewController class]]) {
// set data here
}
}
首先,在故事板中设置序列标识符。单击segue链接后,您可以找到可以设置标识符的字段 将调用下一个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"
}
}
class TestViewController: UIViewController {
var tmpString: String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
和TestViewController
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"
}
}
class TestViewController: UIViewController {
var tmpString: String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
您的嵌入序列在Eyewear view controller视图加载后立即触发,因此prepareForSegue是您通常与容器视图中的视图控制器共享的地方。@Rog所以,我应该在Eyewear view controller中预存片段?我现在就知道了。谢谢大家,你们的答案帮了我很大的忙,也让我节省了无数的谷歌搜索时间!