0

我有一个容器视图控制器说 ContainerViewController 和另一个 UIViewController(PhotoViewcController),我将其添加为 ContainerViewController 中的 childviewcontroller。因此该消息从 ContainerViewController 转发到 PhotoViewcController。但是如何在父子视图控制器中使用双向关系?这样消息就会从 PhotoViewcController 传递到 ContainerViewController。

4

2 回答 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 回答