2017-05-31 56 views
1

我沒有問題,你要解決。我只想澄清一下。首先,讓我解釋我在做什麼。關閉並直接打開新的視圖控制器後,彼此迅速3

我有一個viewcontroller比調用PHP腳本來檢索json。雖然這是處理,我有一個activityViewController顯示顯示進度。直接在此之後,再次撥打電話發送數據。在進行電子郵件調用之前,activityViewController會關閉,並在新函數中打開一個新的函數,顯示電子郵件過程的進度。一旦完成,就會顯示警報。

所有這些工作,但我不得不做一些事情,以使viewcontrollers轉移到下一個沒有「警告:試圖在[ViewController]上呈現[ViewController]時已經呈現」。我不得不在代碼中添加一個延遲,以允許先前的viewcontroller在下次嘗試打開之前成功關閉。就像我說的那樣,這個工作很順利,延遲是0.3秒。蠻快。

但是我想知道的是,它可能會發生這樣的情況:viewcontroller會在某些設備上緩慢關閉,運行時間超過0.3秒,然後拋出錯誤?

我只是想在這裏學.. :)

的任何信息,是極大的讚賞。

回答

1

您可以在呈現或解散視圖控制器後使用完成處理程序。如果使用它,那麼你的視圖控制器將擺脫那些警告,並且你的控制器將顯得很厚且很快,而沒有任何定時器。

aViewController.dismiss(animated: true) { viewController.present(anotherViewController, animated: true, completion: nil) }

+0

當然值得接受的答案!謝謝!看起來完全像我的「延遲」,但至少我知道它會適用於所有設備! ;) –

相關問題