如何将一个IBOutlet连接到容器视图控制器中的tableview控制器

时间:2013-01-20 13:41:09

标签: ios iphone objective-c uitableview uistoryboard

enter image description here

我用Storyboard设计了我的应用程序,我有一个View控制器,我需要插入一个静态表视图控制器(静态表视图控制器无法插入到视图控制器中)。所以我拖放容器视图控制器并嵌入表视图控制器。

现在我在viewcontroller.h中声明了一个IBOutlet,如

@property (nonatomic,strong) IBOutlet UITableView *infoTableView;

如何将infoTableView连接到连接检查器中的实际表视图?

2 个答案:

答案 0 :(得分:2)

如果您的意思是将ItemEditorViewController中的IBOutlet连接到表视图控制器中的表视图,则不能。无法将一个控制器中的插座连接到另一个控制器中的对象。如果需要在父控制器中获取对该表视图的引用,则需要执行以下代码:

在ItemEditorViewController.h中

@property (nonatomic,strong) UITableView *infoTableView;

在ItemEditorViewController.m中(可能在viewDidLoad中)

self.infoTableView = [self.childViewControllers[0] tableView];

答案 1 :(得分:-1)

这不是你正在寻找的答案,但是不要做这种愚蠢的事情。为了某个目的,不允许在UIViewController中使用静态tableView。 Apple有理由禁止它,所以你最好不要搜索解决方法,否则你会得到一个带有意外行为的错误应用程序。你真的想要吗?

我建议,作为这种情况的一个想法:

在VC类中包含一个简单的UITableView,只需在tableView:cellForRowAtIndexPath:中以编程方式对其进行自定义即可。 通过这种方式,您可以获得完全控制的稳定状态。