2017-08-30 7 views
-4

対話型の記事をプログラムで作成していますので、ゲームを再開する方法が必要です。誰もがこれを解決する方法を知っている「という表現が使用されていない機能に解決」と言っている以外(すなわち明確なすべて)私が見つけた唯一のものはビューコントローラを再起動またはリセットするには

func refreshView() ->() { 

    // Calling the viewDidLoad and viewWillAppear methods to "refresh" the VC and run through the code within the methods themselves 
    self.viewDidLoad 
    self.viewWillAppear 

} 

func refreshVC(sender: AnyObject) { 
    self.refreshView() 
} 

のですか?

+1

直ちに問題になるのは、 'refreshView()'メソッドは何も返す必要がないということです。 ' - >()'を削除してください。次に、 'viewDidLoad()'と 'viewWillAppear()'は最後に '()'を必要とします。あなたはもっと大きな問題を抱えていると思います。これはおそらく "リセット"に行く最良の方法ではありません。現在のView Controllerを削除し、同じタイプの新しいView Controllerを追加することもできます。現在のウィンドウを削除し、アプリケーションデリゲートに新しいウィンドウを追加することができます(基本的にはアプリ全体を再起動します)。あなたのアプリを知らなくても最高の答えを知ることはできません。 – keithbhunter

+0

[Swiftでviewcontrollerをリセット/再起動する方法]の複製がありますか?(https://stackoverflow.com/questions/30633566/how-to-reset-restart-viewcontroller-in-swift) –

+2

FYI - 決してviewDidLoadを呼び出さないでくださいまたは 'viewWillAppear'または他のView Controllerのライフサイクルメソッドを使用することができます。 – rmaddy

答えて

1

viewDidLoadviewWillAppearの後に()が見つかりません。

編集:さて、かっこを追加するとコードがコンパイルされます。しかし、実際にそれを見てから、のように聞こえます。は、setNeedsDisplay()と呼んで、ビュー全体を再表示します。

関連する問題