我在一个单元原型中有一组协作控件。我发现我想在表之外的另一个视图控制器中重用这个相同的协作组。
所以我在我的故事板中创建了一个新的UIViewController
,将所有控件移动到那里并将交互行为从我的UITableViewCell
子类移动到新的子类。现在我只需要在storyboard中的原型单元格中放置一个容器视图,然后连接嵌入segue。很容易。
我不知道怎么做,是新的子视图控制器(我的新子类)将被实例化,以及我如何从单元子类代码中引用它?我需要将单元属性中的一些信息传递给嵌入式视图控制器。我可以在单元格中为容器视图创建一个插座,但这是视图的插座,而不是嵌入式视图控制器。
答案 0 :(得分:7)
当您将视图控制器嵌入到另一个视图控制器中时,将调用容器viewController的prepareForSegue:
方法 - 此处您可以保留对segue.destinationViewController
的引用。
其中存在问题 - prepareForSegue:
不是UITableViewCell
方法,因此无法捕获子视图控制器。
当然,正如您所发现的那样 - 无论如何都会出现编译错误!