Xcode - 传递 属性 以在故事板中查看控制器
Xcode - Pass property to view controller in storyboard
我想将属性传递给从情节提要中的容器视图创建的视图控制器。问题是我不知道怎么办。
蓝色矩形是我有两个容器视图的区域,每个容器都引用一个视图控制器(一个是顶部的自定义 table 视图控制器,我很感兴趣,另一个是下面的视图控制器)。
问题是我的自定义 table 视图控制器需要一些属性。我想传递 class 中的属性,我在其中实例化 Storyboard(故事板是从 toher class 调用的)。包含容器视图的视图控制器实例化如下所示:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Phenotype" bundle:nil];
GeneralViewController *vc = [sb instantiateViewControllerWithIdentifier:@"phenotype"];
[vc setProperty:property]; // I would like to pass this property to the custom table view controller.
[self.navigationController pushViewController:vc animated:YES];
我尝试从 class 获取 table 视图控制器,我在此处实例化 stroyboard 以设置 属性 此时
TableViewController *tablevc = [sb instantiateViewControllerWithIdentifier:@"table"];
[tablevc setProperty:property];
...但没有任何成功。
有人知道如何直接从实例化故事板的视图控制器访问自定义 table 视图控制器的 属性 吗?
感谢您的帮助,
Select 你从蓝色矩形嵌入 segue 到顶部的 tableView 并给它一个 segue 标识符 :) 假设 segue 标识符是 "abcd".
在你的ViewController有容器写入
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "abcd" {
let tableView : YourTableViewClass = segue.destination as! YourTableViewClass
//pass whatever params want :)
}
}
编辑
嵌入式 segue 的行为与其他 segue 一样,除了一个例外,您必须以编程方式执行它们或触发某些事件,其中嵌入式 segue 在容器加载时自动执行 :)
所以你可以有 segue 标识符,在 prepareForSegue 中编写代码就像你为其他 segue 所做的那样:)
我想将属性传递给从情节提要中的容器视图创建的视图控制器。问题是我不知道怎么办。
蓝色矩形是我有两个容器视图的区域,每个容器都引用一个视图控制器(一个是顶部的自定义 table 视图控制器,我很感兴趣,另一个是下面的视图控制器)。
问题是我的自定义 table 视图控制器需要一些属性。我想传递 class 中的属性,我在其中实例化 Storyboard(故事板是从 toher class 调用的)。包含容器视图的视图控制器实例化如下所示:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Phenotype" bundle:nil];
GeneralViewController *vc = [sb instantiateViewControllerWithIdentifier:@"phenotype"];
[vc setProperty:property]; // I would like to pass this property to the custom table view controller.
[self.navigationController pushViewController:vc animated:YES];
我尝试从 class 获取 table 视图控制器,我在此处实例化 stroyboard 以设置 属性 此时
TableViewController *tablevc = [sb instantiateViewControllerWithIdentifier:@"table"];
[tablevc setProperty:property];
...但没有任何成功。
有人知道如何直接从实例化故事板的视图控制器访问自定义 table 视图控制器的 属性 吗?
感谢您的帮助,
Select 你从蓝色矩形嵌入 segue 到顶部的 tableView 并给它一个 segue 标识符 :) 假设 segue 标识符是 "abcd".
在你的ViewController有容器写入
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "abcd" {
let tableView : YourTableViewClass = segue.destination as! YourTableViewClass
//pass whatever params want :)
}
}
编辑
嵌入式 segue 的行为与其他 segue 一样,除了一个例外,您必须以编程方式执行它们或触发某些事件,其中嵌入式 segue 在容器加载时自动执行 :)
所以你可以有 segue 标识符,在 prepareForSegue 中编写代码就像你为其他 segue 所做的那样:)