Es gibt ein paar Wege, also meist machst du das selbst mit verschiedenen Mustern. Sie können eine Navigationssteuerung im AppDelegate setzen sich wie folgt zusammen:
self.viewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
self.navigationController = [[ UINavigationController alloc ] initWithRootViewController:self.viewController ];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
Dann, wenn Sie einen neuen vc präsentieren wollen Sie dies tun können:
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
[ self.navigationController pushViewController:ovc animated:YES ];
Um wieder dies tun:
[ self.navigationController popViewControllerAnimated:YES ];
Soweit ein Rückruf einen Weg, dies ein Protokoll wie diese irgendwo in Ihrem Projekt zu tun, geht zu machen:
@protocol AbstractViewControllerDelegate <NSObject>
@required
- (void)abstractViewControllerDone;
@end
Dann jeden View-Controller mögen Sie einen Rückruf in einem Delegaten aka ausgelöst werden:
@interface OtherViewController : UIViewController <AbstractViewControllerDelegate>
@property (nonatomic, assign) id<AbstractViewControllerDelegate> delegate;
@end
Schließlich, wenn Sie ein neues vc es als Delegierter zuweisen präsentieren:
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
ovc.delegate = self;
[ self.navigationController pushViewController:ovc animated:YES ];
dann, wenn Sie ovc entlassen, diesen Anruf
[self.delegate abstractViewControllerDone];
[ self.navigationController popViewControllerAnimated:YES ];
Und im rootVC, die das Protokoll entsprechen Sie m ade, Sie füllen Sie einfach diese Methode:
-(void) abstractViewControllerDone {
}
, dass Sie nur einen Anruf gemacht. Dies erfordert eine Menge von Setup, aber andere Optionen beinhalten NSNotifications und Blöcke, die einfacher sein können, je nachdem, was Sie tun.
Android Rocks, iOS Sucks! (Ich hoffe mein Chef sieht diesen Kommentar nicht XD) Endlich sehe ich etwas, das in Android viel einfacher als iOS zu implementieren ist: D –
Ja, aber jetzt können Sie Blöcke verwenden, die es viel besser machen –