2

我在情节提要中有两个 UIViewController(A 和 B)。A 视图控制器有一个属性

@property (nonatomic, retain) IBOutlet UIViewController *viewController;

我想通过情节提要链接到 B.

出口显示在故事板菜单的 IBOutlets 部分下,但我无法链接。为什么我要这样做似乎很奇怪,但我需要它。有人知道该怎么做吗?

4

3 回答 3

6

IBOutlets 是单个视图控制器中的连接。在视图控制器中创建对对象的引用,以便您可以在代码中使用这些对象。

您不能从一个视图控制器创建 IBOutlets 到另一个视图控制器。属性是正确的方法,但您必须在代码中分配属性。通常,当一个视图控制器创建另一个视图控制器时,它可能会设置对自身的引用。

OtherViewController *otherViewController = [OtherViewController alloc] init];
otherViewController.masterViewController = self;
// at this point "otherViewController" has a reference to the current view controller
于 2013-01-08T14:43:18.417 回答
0

现在我明白我需要做什么了。我需要创建一个自定义 segue以实现与将 UINavigationController 链接到其他 ViewController 并标记为 RootViewController 时相同的结果。它是由 segue 而不是 IBOutlet 完成的。

于 2013-01-08T15:05:21.563 回答
0

我参加聚会有点晚了,但是我组织了一个 segue 课程来帮助完成这项工作。查看 git 存储库以查看正在运行的类:https ://github.com/datinc/DATOutletSegue 。

基本上它使用 segue 的标识符连接到父控制器

于 2014-02-05T22:13:12.973 回答