我的应用中有一个故事板,在A
和B
之间有推送信号:所以,A
->
B
。基本上,A
是用户执行实际工作的视图。 B
只显示自定义加载视图。当他们按下A
中的按钮时,加载视图B
将被推入堆栈,指示网络操作正在进行中。网络操作可能失败或成功。无论哪种方式,只要我知道网络操作的结果,我就想把B弹掉。使用segue将B推入堆栈,然后使用dismissViewControllerAnimated
将其从堆栈中弹出。
我遇到的问题是网络操作结果有时几乎是瞬时的(特别是在失败/没有连接的情况下),因此当我加载时,将加载视图B
动画到堆栈上的动画还没有完成已经想要再删除它。这导致XCode记录了以下内容:
警告:尝试从视图控制器中解除 而陈述或解雇是 正在进行中!
...结果看起来似乎永远不会从堆栈弹出。有没有解决的办法?我在SO上已经阅读了一些类似的问题,但它们似乎主要用于推动或弹出多个连续视图,而不是推/弹组合。