Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 我可以看一下';旁路';完全通过Segues的视图控制器?_Ios_Uistoryboardsegue_Xcode Storyboard - Fatal编程技术网

Ios 我可以看一下';旁路';完全通过Segues的视图控制器?

Ios 我可以看一下';旁路';完全通过Segues的视图控制器?,ios,uistoryboardsegue,xcode-storyboard,Ios,Uistoryboardsegue,Xcode Storyboard,短版 当我点击确认时,我想转到完成购买,如果用户档案中没有付款信息,则再次直接转到收集付款信息,而不查看完成购买视图。我正在调用viewDidLoad中的第二个segue,从Complete Purchase开始,我(简短地)看到Complete Purchase屏幕,然后再继续 更多的话 我这里有一个相当常见的场景;具有三个不同视图控制器的购买功能。一般情况下,用户会单击ShoppingCart.confirm,这会导致“Show”切换到CompletePurchase。然后,用户可以购买(此

短版 当我点击
确认
时,我想转到
完成购买
,如果用户档案中没有付款信息,则再次直接转到
收集付款信息
,而不查看
完成购买
视图。我正在调用
viewDidLoad
中的第二个segue,从
Complete Purchase
开始,我(简短地)看到
Complete Purchase
屏幕,然后再继续

更多的话 我这里有一个相当常见的场景;具有三个不同视图控制器的购买功能。一般情况下,用户会单击ShoppingCart.confirm,这会导致“Show”切换到
CompletePurchase
。然后,用户可以购买(此处不感兴趣)或单击
CompletePurchase.EditPaymentInfo
,这将触发一个“模式”切换到
GatherPaymentInfo
。取消
GatherPaymentInfo
将返回到
CompletePurchase
,新的付款信息现在可用

所有这些都很好,但有时用户没有任何存储的付款信息。在CompletePurchase中,我想做的是注意到用户没有支付信息,并直接将其分配给
GatherPaymentInfo
控制器。完成后,用户会像以前一样解聘,并准备完成购买

即使这样也没问题,因为我在
CompletePurchase.viewDidLoad()
中执行了这个步骤

问题是,没有支付信息的用户在进入
GatherPaymentInfo
屏幕的过程中会短暂看到
CompletePurchase
屏幕。我希望这一转变是透明的

我是否可以在没有向用户显示中间人的情况下执行第二个步骤(完成购买过程)?

我已经解决了这个问题,在
ShoppingCart
->
完成购买之前做出了决定,并执行了不同的步骤,但感觉非常不干净

也许有更好的方法来完成这个任务,我想听听大家对这个问题的看法和答案——谢谢

不起作用的事物 我天真地试图在
viewDidLoad()
中逃跑:

根据需要继续,但不在简要显示CompletePurchase视图之前

我已经解决了这个问题,在购物车->CompletePurchase segue之前做出了决定,并执行了不同的segue,但感觉非常不干净


我认为你的评估完全错了。如果您在这种情况下实际上不需要CompletePurchase视图控制器的开销,那么这绝对是最干净的解决方案!我想说的是,你应该快乐地向前走。

好吧,和往常一样,当人们告诉我我完全错了时,我很感激:-)。但说真的,它确实按原样工作。在其他情况下,我也希望这样做,这样我就可以在正确的位置结束,而不必重新检查状态并再次重定向。你的观点肯定被采纳了。谢谢。考虑一下如果没有故事板,你会怎么做(以前是这样)。您将有一个条件决定实例化和推送哪个视图控制器。在故事板序列之间进行选择是完全平行的。我看不出有什么问题,当然。很公平。我在这里想的是,完整购买的“状态”需要做购物车聚合和支付信息协调的工作。然后,无论我如何进入购买状态,它都会处理一切。诚然,这是一个人为的要求,我非常喜欢在大头针上跳舞。我怀疑它会保持原样。
  override func viewDidLoad() {
        if bad_condition == true {
            performSegue(withIdentifier: to, sender: self)
            return
        }
        super.viewDidLoad()
    }