В моем iOS-приложении я удалил некоторые контроллеры представления и сбросил на self.navigationController.viewControllers
, но он вернул неправильное значение.
Ниже мой код:
int homeCount = 0;
NSMutableArray *navigationArray = [[NSMutableArray alloc]init];
NSMutableArray *tempArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers]; //here tempArray = 5
for (UIViewController *controller in self.navigationController.viewControllers) {
if ([controller isKindOfClass:[SearchRoomViewController class]]) {
[tempArray removeObject:controller];
}
if ([controller isKindOfClass:[HomeViewController class]]) {
homeCount = homeCount + 1;
if(homeCount > 1){
[tempArray removeObject:controller];
}
}
}
//now tempArray = 3
self.navigationController.viewControllers = nil;
[self.navigationController setViewControllers:tempArray animated:NO];
navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers]; //here navigationArray returns 5
Почему self.navigationController.viewControllers
не установлены на 3?
Пожалуйста, помогите.