代碼用於與斯威夫特1,但現在不工作,這裏是我的問題。 (沒有檢查其他問題,但是這是略有不同,足以使對方solututions沒有工作。performSegueWithIdentifier沒有從放風segue
,它工作正常,用戶在他們的用戶名和密碼進入,然後我以編程方式檢查,他們可以登錄並都還不錯,做的展開如下:
self.performSegueWithIdentifier("unwindGoToTeamPage", sender: self)
但即使func被稱爲下面的代碼不火。我知道這是因爲我在他們的調試中有一個打印語句,而且它是在控制檯上OWS:
@IBAction func unwindGoToTeamPage(sender: UIStoryboardSegue){
print("In here")
self.performSegueWithIdentifier("goToTeamPage", sender: self)
}
現在我知道它關係到同樣的原因,在視圖控制器生命週期的開始,你不能叫
self.performSegueWithIdentifier("goToTeamPage", sender: self)
,因爲它不會在
工作override func viewDidLoad() {
super.viewDidLoad()
}
或
override func viewWillAppear(animated: Bool) {
}
但只有在
override func viewDidAppear(animated: Bool) {
if appDelegate.tkData[0] == "1"
{
self.performSegueWithIdentifier("goToTeamPage", sender: self)
}
}
在斯威夫特1,我習慣把一個計時器,一切都很好,但不再工作,我喜歡把固體的解決方案,是不是黑客攻擊的Objective-C。我認爲解決方案包括等待登錄視圖控制器完全解散,但不確定實現它的正確方法。
是否可以向主隊列發送調度選項。如果有人有答案併發布更新,我會盡力解決。我還注意到它在iPhone或iPod上運行得很好,但它的問題尚未解決。
欣賞任何指針來解決這個問題。謝謝
更新,是的我曾嘗試過UITextField解決方案,但在這種情況下似乎不是問題。我正在慢慢發現這個問題,因爲一個視圖控制器尚未完成之前,
self.performSegueWithIdentifier("goToTeamPage", sender: self)
火災。
我也道歉,我沒有提到的控制檯消息是: 警告:試圖提出有關< 當前視圖控制器>誰的觀點是不是在窗口層次< 新的視圖控制器>!
因此,我認爲我的問題是爲需要排序的運行登錄視圖控制器以這樣的方式爲具有orignial視圖 - 控制獲取登錄查看conntroller已完成的消息,然後才火
self.performSegueWithIdentifier("goToTeamPage", sender: self)
SO是有辦法得到某種回調告訴原始視圖控制器,子視圖控制器已完全完成,所以我可以在子視圖控制器完成後才能調用下一個函數。
感謝您的任何幫助。
你可以請檢查是否[此線程](http://stackoverflow.com/questions/32643765/ios-9-segue-causes-app-to-freeze-no-crash-or-error-thrown/32661264 #32661264)解決了你的問題。 – Abhinav
感謝Abhinav,不,因爲我沒有UITextField問題。我確實看過這些問題並嘗試解決方案,但它沒有幫助。 – timv
用更多的信息更新了我的問題,有助於幫助 – timv