From 1420b532859ccd997ee86c17e1b6568c0ab5b8dc Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Fri, 24 Apr 2015 22:39:04 -0700 Subject: [PATCH] clean up --- Blog/AppDelegate.m | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Blog/AppDelegate.m b/Blog/AppDelegate.m index f039032..c4a9671 100644 --- a/Blog/AppDelegate.m +++ b/Blog/AppDelegate.m @@ -103,14 +103,16 @@ #pragma mark - UISplitViewDelegate methods -- (BOOL) splitViewController:(UISplitViewController *)splitViewController -collapseSecondaryViewController:(UIViewController *)secondaryViewController - ontoPrimaryViewController:(UIViewController *)primaryViewController { +id safeCast(id obj, __unsafe_unretained Class class) { + return [obj isKindOfClass:class] ? obj : nil; +} + +- (BOOL) splitViewController:(UISplitViewController *)splitViewController collapseSecondaryViewController:(UIViewController *)secondaryViewController ontoPrimaryViewController:(UIViewController *)primaryViewController { UINavigationController *navigationController = [secondaryViewController isKindOfClass:[UINavigationController class]] - ? (UINavigationController *)secondaryViewController : nil; - if ([navigationController - .topViewController isKindOfClass:[EditorViewController class]] && ([(EditorViewController *)navigationController - .topViewController post] == nil)) { + ? (UINavigationController *)secondaryViewController + : nil; + EditorViewController *editorViewController = navigationController.topViewController ? safeCast(navigationController.topViewController, [EditorViewController class]) : nil; + if (!editorViewController.post) { // Return YES to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded. return YES; }