Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在NavigationController中将信息从子项返回到父项_Objective C_Iphone - Fatal编程技术网

Objective c 如何在NavigationController中将信息从子项返回到父项

Objective c 如何在NavigationController中将信息从子项返回到父项,objective-c,iphone,Objective C,Iphone,我想知道什么是从儿童视角中获取信息的正确方式 我有一个在子视图中编辑的对象。我想在TableView中看到它们的修改 然而,我不知道一个干净的方法来做这件事(我不喜欢这里的单身汉) 是否可能在子视图消失时收到通知并获取相关信息?您可以使用UIViewController通知,并在某个UIView即将消失之前和消失之后立即收到通知。请注意,大多数不同的UIKit对象(包括UITableView)都是UIViewIMHO的子类,正确的方法是在视图的控制器(可能是您的导航控制器)中实现自定义协议或者应

我想知道什么是从儿童视角中获取信息的正确方式

我有一个在子视图中编辑的对象。我想在TableView中看到它们的修改

然而,我不知道一个干净的方法来做这件事(我不喜欢这里的单身汉)


是否可能在子视图消失时收到通知并获取相关信息?

您可以使用
UIViewController
通知,并在某个
UIView
即将消失之前和消失之后立即收到通知。请注意,大多数不同的UIKit对象(包括
UITableView
)都是
UIView

IMHO的子类,正确的方法是在视图的控制器(可能是您的导航控制器)中实现自定义协议或者应用程序委托,并让子视图在收到
视图将消失
和/或
视图将消失
通知时使用它进行通信(如Adam的回复中所述)。类似地,在父视图中,您可以刷新
视图中将出现的
处理程序中的必要信息


通过这种方式,父视图从委托获取数据,而不是直接从特定的子视图获取数据,该子视图在您的设计中维护MVC。

您还可以发出通知(使用NSNotificationCenter),通知父视图将被订阅以侦听,这有一个附带好处,即其他类也可以被通知

但是,如果这是一个非常严格的关系,只有子视图和主表会关心,那么您可能应该将表视图控制器设置为子视图的委托,并让子视图直接调用委托(对于类似的情况,上面提到的协议是一个好主意)