当我点击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视图之前不会移动。
答案 0 :(得分:1)
我已经通过在ShoppingCart之前做出决定来解决这个问题 - > CompletePurchase segue和表演不同的segue但感觉非常不洁净。
我认为你的评估完全错了。如果您在这种情况下实际上不需要CompletePurchase视图控制器的开销,那绝对是最干净的解决方案!我会说你应该快乐地前进。