Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Ios 谁应该是解除视图控制器的人?_Ios_Objective C_Uiviewcontroller_Dismiss - Fatal编程技术网

Ios 谁应该是解除视图控制器的人?

Ios 谁应该是解除视图控制器的人?,ios,objective-c,uiviewcontroller,dismiss,Ios,Objective C,Uiviewcontroller,Dismiss,我想问的是,谁应该是拒绝显示视图控制器的人 假设我展示了一个视图控制器,在该视图控制器中的iAction上,我想取消它。 我应该通过创建一个委托方法将该职责传递给呈现视图控制器,还是只调用dismissViewController:animated:本身,inturn会要求其呈现视图控制器解除呈现视图控制器 因此,我认为这些是一些明确的情况,其中呈现视图控制器应该是一个解除呈现视图控制器的控制器 呈现视图控制器正在将一些数据传回呈现视图控制器 显示视图控制器希望在取消显示视图控制器后执行某些操作

我想问的是,谁应该是拒绝显示视图控制器的人

假设我展示了一个视图控制器,在该视图控制器中的iAction上,我想取消它。 我应该通过创建一个委托方法将该职责传递给呈现视图控制器,还是只调用dismissViewController:animated:本身,inturn会要求其呈现视图控制器解除呈现视图控制器

因此,我认为这些是一些明确的情况,其中呈现视图控制器应该是一个解除呈现视图控制器的控制器

  • 呈现视图控制器正在将一些数据传回呈现视图控制器
  • 显示视图控制器希望在取消显示视图控制器后执行某些操作
  • 演示视图控制器以处理解雇将如何发生,是否需要某种动画
  • 如果presented view controller首先检查presenting view controller是否确实希望通过检查presenting view controller是否实现了解雇委托方法来承担解雇责任,该怎么办? 把条件逻辑的复杂性放在这里真的值得吗

    是的,我试着在其他论坛和类似的问题上阅读它


    但却找不到正确的逻辑答案

    阅读下面的链接。您将了解如何在ViewController之间进行动画和演示


    阅读下面的链接。您将了解如何在ViewController之间进行动画和演示


    不同的场景会有所不同。在大多数情况下,在presentedViewController上调用它以保持较低的复杂性是可以的,但是如果在解除之前或之后需要出现底层逻辑,那么将其委托给演示者会更好。没有正确或错误的答案,这将因您所处的情况而有所不同。我明白这一点,但我仍然认为,从presenting view controller调用解雇是最好的做法,因为它没有任何负面影响,只是几行愚蠢的代码。我只是想知道从presenting或presented view Controllers调用它是否有更大的好处这些好处只能在一个场景一个场景的基础上确定。这取决于你解雇时想做什么。否则,只需使用可用的最简单解决方案,并逐步从presentedViewController内部退出,除非您有任何其他理由不这样做。这将因场景而异。在大多数情况下,在presentedViewController上调用它以保持较低的复杂性是可以的,但是如果在解除之前或之后需要出现底层逻辑,那么将其委托给演示者会更好。没有正确或错误的答案,这将因您所处的情况而有所不同。我明白这一点,但我仍然认为,从presenting view controller调用解雇是最好的做法,因为它没有任何负面影响,只是几行愚蠢的代码。我只是想知道从presenting或presented view Controllers调用它是否有更大的好处这些好处只能在一个场景一个场景的基础上确定。这取决于你解雇时想做什么。否则,只需使用可用的最简单解决方案,并逐步从presentedViewController内部退出,除非您有任何其他理由不这样做。