NSArray *viewcontrollers=self.navigationController.viewControllers;
if (viewcontrollers.count>1) { if ([viewcontrollers objectAtIndex:viewcontrollers.count-1]==self) { //push方式 [self.navigationController popViewControllerAnimated:YES]; } } else{ //present方式 [self.navigationController dismissViewControllerAnimated:YES completion:nil]; }
通過presentviewcontroller的方式顯示的viewcontroller不會存入self.navigationController.viewControllers數組中。而通過push方式顯示的viewcontroller會存在該數組的最后。