prepareForSegue und Delegierten

Ich habe eine Anwendung mit zwei leitet über. In einem der leitet über, die aktuellen view-controller wird ein Delegierter, der andere aber nicht.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"MoreOptions"]) {
        UINavigationController *navigationController = segue.destinationViewController;
        MoreOptionsViewController *controller = (MoreOptionsViewController *)navigationController.topViewController;
        controller.delegate = self;
    } else if ([segue.identifier isEqualToString:@"FullStoryView"]) {
        SingleStoryViewController *detailViewController = segue.destinationViewController;
        detailViewController.urlObject = sender;
    }
}

All dies ist in Ordnung, aber ich möchte, um zu versuchen und zu verstehen, den code besser. Was ich nicht verstehe, ist, dass ich auf einen Verweis auf die MoreOptionsViewController greifen von navigationController.topViewController eher, als dass er einfach von segue.destinationViewController wie ich in der zweiten if-Bedingung. Ist es, weil ich werde die aktuelle view-controller (selbst) als Delegierter? Nochmal, ich versuche nicht, ein problem zu lösen, nur versuchen, besser zu verstehen, was Los ist.

InformationsquelleAutor Sonny Parlin | 2011-12-20

Schreibe einen Kommentar