Objective c 如何在NavigationController中将信息从子项返回到父项
我想知道什么是从儿童视角中获取信息的正确方式 我有一个在子视图中编辑的对象。我想在TableView中看到它们的修改 然而,我不知道一个干净的方法来做这件事(我不喜欢这里的单身汉)Objective c 如何在NavigationController中将信息从子项返回到父项,objective-c,iphone,Objective C,Iphone,我想知道什么是从儿童视角中获取信息的正确方式 我有一个在子视图中编辑的对象。我想在TableView中看到它们的修改 然而,我不知道一个干净的方法来做这件事(我不喜欢这里的单身汉) 是否可能在子视图消失时收到通知并获取相关信息?您可以使用UIViewController通知,并在某个UIView即将消失之前和消失之后立即收到通知。请注意,大多数不同的UIKit对象(包括UITableView)都是UIViewIMHO的子类,正确的方法是在视图的控制器(可能是您的导航控制器)中实现自定义协议或者应
是否可能在子视图消失时收到通知并获取相关信息?您可以使用
UIViewController
通知,并在某个UIView
即将消失之前和消失之后立即收到通知。请注意,大多数不同的UIKit对象(包括UITableView
)都是UIView
IMHO的子类,正确的方法是在视图的控制器(可能是您的导航控制器)中实现自定义协议或者应用程序委托,并让子视图在收到视图将消失
和/或视图将消失
通知时使用它进行通信(如Adam的回复中所述)。类似地,在父视图中,您可以刷新视图中将出现的处理程序中的必要信息
通过这种方式,父视图从委托获取数据,而不是直接从特定的子视图获取数据,该子视图在您的设计中维护MVC。您还可以发出通知(使用NSNotificationCenter),通知父视图将被订阅以侦听,这有一个附带好处,即其他类也可以被通知
但是,如果这是一个非常严格的关系,只有子视图和主表会关心,那么您可能应该将表视图控制器设置为子视图的委托,并让子视图直接调用委托(对于类似的情况,上面提到的协议是一个好主意)