我可以在原型 UITableViewCell 中使用容器视图吗

Can I use a container view in a prototype UITableViewCell

我在单元格原型中有一组协作控件。我发现我想在表外的另一个视图控制器中重用同一个协作组。

所以我在故事板中创建了一个新的 UIViewController,将所有控件移到那里并将交互行为从我的 UITableViewCell 子类移动到新的子类。现在我只需要在故事板的原型单元格中放置一个容器视图并连接嵌入的转场。很简单。

但我不知道该怎么做,新的子视图控制器(我的新子类)将在何处实例化,以及如何从单元子类代码中引用它?我需要将一些信息从单元格的属性向下传递到嵌入式视图控制器。我可以在我的单元格中为容器视图创建一个出口,但那是为了视图,而不是嵌入式视图控制器。

当你在另一个视图控制器中嵌入一个视图控制器时,容器 viewController 的 prepareForSegue: 方法被调用 - 在这里你可以保留对 segue.destinationViewController.[= 的引用14=]

这就是问题所在 - prepareForSegue: 不是 UITableViewCell 方法,因此无法捕获子视图控制器。

当然,正如您所发现的 - 在任何情况下都会出现编译错误!