无法将UIViewController IBOutlets与StoryBoard链接

时间:2013-01-08 14:30:53

标签: ios xcode uiviewcontroller storyboard iboutlet

我在故事板中有两个UIViewControllers(A和B)。 A视图控制器具有属性

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

我想通过故事板链接到B.

插座显示在故事板菜单中的IBOutlets部分下,但我无法链接。 为什么我要这样做但我需要它可能看起来很奇怪。有人知道怎么做吗?

3 个答案:

答案 0 :(得分:6)

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

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

OtherViewController *otherViewController = [OtherViewController alloc] init];
otherViewController.masterViewController = self;
// at this point "otherViewController" has a reference to the current view controller

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我参加派对有点晚了但是我整理了一个segue课程来帮助完成这项工作。查看git存储库以查看实际的类:https://github.com/datinc/DATOutletSegue

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