まずは、この問題を解決するためにすべてのことについてiveを試してみてください。 ?スウィフト4:閉鎖コードの実行を拒否する
コード:この次の印刷ラインは上記のコードの行を実行し、ないということである理由
self.messagesControl?.showChatController()
が実行されていない、それは却下()クロージャ内にありますか助けてください!
messagesControlメソッド呼び出し
var messagesControl : MessagesViewController?
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.dismiss(animated: true, completion: {
self.messagesControl?.showChatController()
print("dismiss closure finished running")
})
}
showChatControllerは()
func showChatController()
{
performSegue(withIdentifier: "goToChatLogControllerPlz", sender: self)
}
期待される結果:
: セグエが実行される印刷ラインは観測結果を実行します
印刷行が実行されます。何セグエない:(私は交換した
EDIT
:
self.messagesControl?.showChatController()
をして:
self.performSegue(withIdentifier: "showChatController", sender: self)
まだ問題があることであるカントー:(
どのようにmessagesControlを割り当てましたか?あなたは確信しています、あなたが完了時にcompletionHandlerを呼び出すとき、messagesControlはnilではありません。 –
私はテストするセグを直接リンクして同じ問題を抱えているので、問題がないことを確認します。私はこのチュートリアル(ima noob)を使用しています –
https://www.youtube.com/watch?v=cw0gLZHJOiE&list= PL0dzCUj1L5JEfHqwjBV0XFb9qx9cGXwkq&index = 9 –