IOS 7 Study - Manipulating a Navigation Controller’s Array of View

1719 ワード

ProblemYou would like to directly manipulate the array of view controllers associated with aspecific navigation controller
SolutionUse the viewControllers property of the UINavigationController class to access andmodify the array of view controllers associated with a navigation controller
 
- (void) goBack {
    /* Get the current array of View Controllers */
    NSArray *currentControllers = self.navigationController.viewControllers;

    /* Create a mutable array out of this array */
    NSMutableArray *newControllers = [NSMutableArray
                                      arrayWithArray:currentControllers];

    /* Remove the last object from the array */
    [newControllers removeLastObject];

    /* Assign this array to the Navigation Controller with animation */
    [self.navigationController setViewControllers:newControllers
        animated:YES];
}