我正在設計一個遊戲與6視圖控制器。Dealloc不使用所有視圖控制器時使用展開segues
我使用模態賽格向前導航和展開賽格導航回。
遊戲流經視圖控制器是A - >乙 - 「ç - > d - >電子 - > F.
當嘗試從F到放鬆至A的dealloc僅稱爲上B和C這意味着每次玩遊戲時使用的內存都在不斷增加。
我最初認爲這個問題是由於某些東西被保留導致dealloc不能在視圖控制器D和E上調用。但是,如果我將unwind segue設置爲從F到D dealloc被F和E調用這似乎排除了這個問題。
我也有一個直接從視圖控制器A到F的路線。當我在這種情況下放鬆時,dealloc在F上被正確調用。
視圖控制器F和C在A上調用相同的展開動作。我認爲這不是原因,因爲我試圖將其更改爲對每個視圖控制器使用獨特的展開動作。
有什麼想法是什麼導致這個?我已經複製了下面使用的一些代碼。請讓我知道其他代碼(如果有的話)將有助於解決此問題。任何幫助將不勝感激。
開卷動作如下:
- (IBAction)unwindToMainMenu:(UIStoryboardSegue *)unwindSegue
{}
呼叫觸發從視圖控制器F開卷順着接下去答:
[self performSegueWithIdentifier:@"ReturnToMainMenu" sender:self];
您是否嘗試過使用「泄漏」的儀器,它可以指出挽留週期,並給您一個歷史的所有保留/任何對象版本? –
我試過泄漏儀器,但我對它不太熟悉。它指出我PrepareForSegue是問題的出處,但我不知道如何解釋它。我對iOS開發相當陌生:) – user1980555
好吧,我們無法幫助您提供所提供的信息,所以我會建議觀看一些關於如何使用樂器的WWDC視頻,或者創建一個最小示例項目,以顯示你看到的問題,所以我們可以提供幫助。 –