From dc25824cd3701462a1005325dab70846ac7fcbf4 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sun, 3 May 2015 21:40:49 -0700 Subject: [PATCH] fix bugs on the iPad MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - wire up blogController properly - don’t crash trying to save non-existent posts --- Blog/AppDelegate.m | 20 ++++++++++++++------ Blog/EditorViewController.m | 10 +++++++--- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Blog/AppDelegate.m b/Blog/AppDelegate.m index 3a10dec..9b523b2 100644 --- a/Blog/AppDelegate.m +++ b/Blog/AppDelegate.m @@ -21,7 +21,8 @@ @property (nonatomic, readonly, strong) BlogController *blogController; @property (nonatomic, readonly, strong) PostsViewController *postsViewController; -@property (nonatomic, readonly, strong) EditorViewController *editorViewController; +@property (nonatomic, readonly, strong) EditorViewController *editorViewControllerForPhone; +@property (nonatomic, readonly, strong) EditorViewController *editorViewControllerForPad; @end @@ -36,7 +37,8 @@ navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem; splitViewController.delegate = self; self.postsViewController.blogController = self.blogController; - self.editorViewController.blogController = self.blogController; + self.editorViewControllerForPhone.blogController = self.blogController; + self.editorViewControllerForPad.blogController = self.blogController; return YES; } @@ -69,15 +71,21 @@ return postsViewController; } -- (EditorViewController *)editorViewController { +- (EditorViewController *)editorViewControllerForPhone { UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController; UINavigationController *navigationController = splitViewController.viewControllers.firstObject; if (navigationController.viewControllers.count > 1) { navigationController = navigationController.viewControllers.lastObject; - EditorViewController *editorViewController = (EditorViewController *)navigationController.viewControllers.firstObject; - return editorViewController; } - return nil; + EditorViewController *editorViewController = (EditorViewController *)navigationController.viewControllers.firstObject; + return editorViewController; +} + +- (EditorViewController *)editorViewControllerForPad { + UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController; + UINavigationController *navigationController = splitViewController.viewControllers.lastObject; + EditorViewController *editorViewController = (EditorViewController *)navigationController.viewControllers.firstObject; + return editorViewController; } - (ModelStore *)newModelStoreWithPath:(NSString *)dbPath { diff --git a/Blog/EditorViewController.m b/Blog/EditorViewController.m index 36f035b..39e902c 100644 --- a/Blog/EditorViewController.m +++ b/Blog/EditorViewController.m @@ -118,7 +118,7 @@ - (void)configureLinkView { NSURL *url = self.modifiedPost.url; - if (self.post && url || [self pasteboardHasLink]) { + if (self.post && (url || [self pasteboardHasLink])) { NSString *title = url ? url.absoluteString : @"Add Link from Pasteboard"; [self.linkButton setTitle:title forState:UIControlStateNormal]; self.removeLinkButton.hidden = !url; @@ -190,7 +190,9 @@ [notificationCenter removeObserver:self name:UIKeyboardWillHideNotification object:nil]; [notificationCenter removeObserver:self name:DraftRemovedNotification object:nil]; [notificationCenter removeObserver:self name:PublishedPostRemovedNotification object:nil]; - [self savePost]; + if (self.post) { + [self savePost]; + } } - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { @@ -206,7 +208,9 @@ #pragma mark - Notification handlers - (void)applicationWillResignActive:(NSNotification *)note { - [self savePost]; + if (self.post) { + [self savePost]; + } } - (void)keyboardWillShow:(NSNotification *)note {