我在情节提要中有两个 UIViewController(A 和 B)。A 视图控制器有一个属性
@property (nonatomic, retain) IBOutlet UIViewController *viewController;
我想通过情节提要链接到 B.
出口显示在故事板菜单的 IBOutlets 部分下,但我无法链接。为什么我要这样做似乎很奇怪,但我需要它。有人知道该怎么做吗?
我在情节提要中有两个 UIViewController(A 和 B)。A 视图控制器有一个属性
@property (nonatomic, retain) IBOutlet UIViewController *viewController;
我想通过情节提要链接到 B.
出口显示在故事板菜单的 IBOutlets 部分下,但我无法链接。为什么我要这样做似乎很奇怪,但我需要它。有人知道该怎么做吗?
IBOutlets 是单个视图控制器中的连接。在视图控制器中创建对对象的引用,以便您可以在代码中使用这些对象。
您不能从一个视图控制器创建 IBOutlets 到另一个视图控制器。属性是正确的方法,但您必须在代码中分配属性。通常,当一个视图控制器创建另一个视图控制器时,它可能会设置对自身的引用。
OtherViewController *otherViewController = [OtherViewController alloc] init];
otherViewController.masterViewController = self;
// at this point "otherViewController" has a reference to the current view controller
现在我明白我需要做什么了。我需要创建一个自定义 segue以实现与将 UINavigationController 链接到其他 ViewController 并标记为 RootViewController 时相同的结果。它是由 segue 而不是 IBOutlet 完成的。
我参加聚会有点晚了,但是我组织了一个 segue 课程来帮助完成这项工作。查看 git 存储库以查看正在运行的类:https ://github.com/datinc/DATOutletSegue 。
基本上它使用 segue 的标识符连接到父控制器