0
我有一個奇怪的問題,即在導航堆棧中執行一個方法和我的viewcontrollers時失蹤。在下面的一段代碼中,我在導航堆棧中記錄了viewcontroller的數量。我也將視圖控制器記錄在導航堆棧中。Viewpilotlers從導航堆棧中缺失
NSMutableArray *navigationarray = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
NSLog(@"Navigation array %@", navigationarray);
NSLog(@"Navigation array count %d", [navigationarray count]);
[self.doneButton.target performSelector:self.doneButton.action withObject:self.doneButton.target];
NSMutableArray *navigationarrayOne = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
NSLog(@"Navigation array %@", navigationarrayOne);
NSLog(@"Navigation array count %d", [navigationarrayOne count]);
在調用方法之前,導航堆棧有3個viewcontrollers。但是在執行該方法後,導航堆棧中沒有視圖控制器。 我已經在3視圖控制器的dealloc方法中放置了一個斷點,並發現viewcontrollers沒有被釋放。這可能是什麼原因?
當前類的子類ABNewPersonViewController
..和self.doneButton.action
在該子類ABPersonViewController
'self.doneButton.action'的方法是什麼樣的? – skram
我編輯了問題 –
navigationController由該堆棧中的所有視圖共享。它們中的任何一個都可以設置navigationController.viewControllers的值。看看你的新視圖控制器是否改變了導航堆棧。 –