假设我有ViewA和ViewB,我正在使用模态视图控制器,如
[ViewA presentModalViewController:ViewB animated:YES]
然后为了解雇ViewB,
[self dismissModalViewControllerAnimated:YES]
被调用
问题:
self 在这里是什么意思。它是ViewB或ViewA。
我们应该把代码放在哪里?它应该在ViewA还是ViewB中。
答案 0 :(得分:1)
文档说:
“呈现视图控制器负责解除视图 它呈现的控制器。如果在显示的视图上调用此方法 但是,控制器本身会自动转发消息 呈现视图控制器。“
因此,self
是包含您引用的代码的任何对象,但无论如何,该消息最终都由ViewA处理。
(请注意,文档也表示这是一种弃用的方法。)
答案 1 :(得分:0)
视图应该被驳回。它应该在View的视图控制器中,因为它是模态视图控制器。
答案 2 :(得分:0)
“呈现视图控制器负责解除它所呈现的视图控制器。但是,如果在呈现的视图控制器本身上调用此方法,它会自动将消息转发给呈现视图控制器。”
很明显
答案 3 :(得分:0)
dismissModalViewController应放入要关闭的模态视图控制器中。它负责解雇自己。
那就是说,你应该不再使用模态函数了。您应该使用presentViewController和dismissViewController。模态函数已弃用,可能很快就会删除。