我有一个容器视图控制器说 ContainerViewController 和另一个 UIViewController(PhotoViewcController),我将其添加为 ContainerViewController 中的 childviewcontroller。因此该消息从 ContainerViewController 转发到 PhotoViewcController。但是如何在父子视图控制器中使用双向关系?这样消息就会从 PhotoViewcController 传递到 ContainerViewController。
问问题
79 次
2 回答
3
像这样在子类中创建一个属性
@property (assign) id pDelegate;
并合成它,当您转到子视图控制器时,在推送/呈现为之前将委托设置为自我
childController.pDelegate = self;
现在,当您要发送消息时,请执行此操作
if([self.pDelegate respndsToSelector:@selector(popedBackFromChild:)])
{
[self.pDelegate popedBackFromChild:<some object>];
}
告诉我你是否需要进一步解释
于 2012-06-07T06:53:57.413 回答
1
有两种方法可以做到这一点。在子类中为它定义一个协议并在父类中定义它,或者您可以发布和通知并将必要的信息作为字典传递。正如@The Saad 告诉您的,这是定义协议的最佳方式,但通知更易于管理。PS 父类是您将更新信息的类,而子类将提供它。
于 2012-06-07T07:08:21.523 回答