我有一个奇怪的问题,当执行一种方法时,导航堆栈中的视图控制器丢失了。在下面的代码中,我将视图控制器计数记录在导航堆栈中。我还在导航堆栈中记录视图控制器。
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 个视图控制器。但是方法执行后,导航栈中就没有viewcontroller了。我在 3 个视图控制器的 dealloc 方法中放了一个断点,发现视图控制器没有被释放。这可能是什么原因?
当前类的子类ABNewPersonViewController
..并self.doneButton.action
执行
- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController
didCompleteWithNewPerson:(ABRecordRef)person;
子类的类中的方法ABPersonViewController