我創建了一個小遊戲(不與Sprite工具包),我有一個MenuViewController和一個GameViewController。完全刪除視圖控制器 - 斯威夫特
在我的GameViewController上,我有一個按鈕「MENU」進入菜單。我將這段代碼加入到GameViewController中:
print("test")
它每秒鐘都會使用一個計時器執行。
當我按下「菜單」按鈕,我發現自己在菜單上,但定時器仍在運行。我認爲GameViewController沒有完全刪除,我該怎麼做?
PS:駁回GameViewController,我用這個:
func goToMenuViewController() {
let menuViewController = MenuViewController()
menuViewController.modalTransitionStyle = UIModalTransitionStyle.CrossDissolve
self.presentViewController(menuViewController, animated: true, completion: nil)
}
編輯1
添加對我的應用程序層次中的相關信息:
當用戶啓動應用程序,他發現自己在MenuViewController
。 這個ViewController上有一個播放按鈕,它可以連接到GameViewController
。 在MenuViewController
,有一個其他按鈕,這需要到RulesEditorViewController,允許修改的GameViewController
你可以停在viewWillDisappear或viewDidDisappear方法計時器,並根據您的需求viewWillAppear中或viewDidAppear方法重新啓動它。 – Surely
這不是問題,我設置了這個計時器來查看GameViewController是否被完全刪除。 – fredericdnd
根據您提供的代碼,「GameViewController」不會被刪除,因爲它仍然存在於您的菜單視圖控制器下。另一件事,爲什麼你的'GameViewController'不會dealloc是一個計時器。您必須手動停止它以避免內存分配。 –