如果视图控制器A以模态方式呈现,并且它包含一个包含视图控制器B的容器视图。 然后,如果B希望解雇自己(实际上也因为B包含在A中而实际上也解雇了A)那么B应该调用self.dismiss()还是self.parent?.dismiss()?
答案 0 :(得分:0)
由于B是一个单独的实体而B可能不一定包含在A中,如果B希望解雇,它可以调用self.dismiss()
。
将有2个案例。如果B单独出现,那么它会照常解雇。如果包含B,则操作系统会看到它包含在A中,然后解除A。
但是,如果将A的唯一用途包含在A中,那么让A处理导航是有意义的。 B“希望”自己被解雇的部分可以使用代表或块来完成。