我可以直观地绕过'一个完全通过Segues的视图控制器?

时间:2018-06-14 20:38:48

标签: ios uistoryboardsegue xcode-storyboard

A Simple Storyboard Flow

短版

当我点击confirm时,我想要转到Complete Purchase,如果用户没有付款信息,请再次直接查询Gather Payment Info,而不会看到{{1}查看。我在Complete Purchase viewDidLoad中调用了第二个segue,我(简要地)看到Complete Purchase屏幕,然​​后再继续播放。

更多单词

我有一个相当常见的场景;具有三种不同视图控制器的购买功能。一般情况下,用户会点击Complete Purchase,这会导致"显示" segue到ShoppingCart.confirm。然后,用户可以购买(此处不感兴趣)或点击CompletePurchase,这会触发"模态" segue到CompletePurchase.EditPaymentInfo。取消GatherPaymentInfo会退回到GatherPaymentInfo,现在可以使用新的付款信息。

所有这一切都很好但有时用户没有任何存储的付款信息。我想要做的是,在CompletePurchase 中的,注意用户没有付款信息并直接将它们转移到CompletePurchase控制器。完成后,用户将像以前一样解散,并准备完成购买。

即使这很好,因为我在GatherPaymentInfo中执行了segue。

问题是没有付款信息的用户在前往CompletePurchase.viewDidLoad()屏幕的途中会短暂看到CompletePurchase屏幕。我希望这种转变是无助的。

我可以在没有向用户显示中间人(GatherPaymentInfo)的情况下执行第二个segue吗?

通过在CompletePurchase - >之前做出决定,我已经解决了这个问题 ShoppingCart发出不同的声音,但感觉非常不洁净。

也许在这里有更好的方法来完成任务,我对这个问题的意见以及问题的答案感兴趣 - 谢谢!

没有工作的事情

我天真地试图逃过CompletePurchase

viewDidLoad()

根据需要移动,但在简要显示CompletePurchase视图之前不会移动。

1 个答案:

答案 0 :(得分:1)

  

我已经通过在ShoppingCart之前做出决定来解决这个问题 - > CompletePurchase segue和表演不同的segue但感觉非常不洁净。

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