2017-08-30 59 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()'在末尾需要'()'。我想,你有更大的問題。這可能不是「重置」的最佳方式。您可以嘗試刪除當前視圖控制器並添加相同類型的新視圖控制器。您可以嘗試移除當前窗口並在您的應用程序委託中添加新窗口(實質上重新啓動整個應用程序)。如果不知道您的應用程序,我們無法知道最佳答案。 – keithbhunter

+0

可能重複[如何重置/重新啓動viewcontroller在Swift?](https://stackoverflow.com/questions/30633566/how-to-reset-restart-viewcontroller-in-swift) –

+2

FYI - 永遠不要調用'viewDidLoad'或者'viewWillAppear'或者其他視圖控制器生命週期方法。 – rmaddy

回答

1

您錯過了viewDidLoadviewWillAppear之後的()

編輯:好的,添加括號會讓你的代碼編譯。但實際看過之後,聽起來好像真的想要做的就是在視圖上調用setNeedsDisplay(),這將導致整個視圖重新顯示。

相關問題