#import "FileItem.h"
#import "Storage.h"
-@interface DetailViewController : UIViewController <UISplitViewControllerDelegate>
+@interface DetailViewController : UIViewController <UISplitViewControllerDelegate,UITextViewDelegate>
@property (strong, nonatomic) FileItem *detailItem;
@property (strong, nonatomic) Storage *storage;
#import "DetailViewController.h"
#import "MasterViewController.h"
-@interface DetailViewController ()
+@interface DetailViewController () {
+ BOOL isModify;
+}
@property (strong, nonatomic) UIPopoverController *masterPopoverController;
- (void)configureView;
@end
name:UIKeyboardDidHideNotification
object:nil];
+ self.detailText.delegate = self;
[self configureView];
+ isModify = NO;
}
- (void)viewDidUnload
- (void)viewWillDisappear:(BOOL)animated {
// Leaving detail view
- NSString *note = self.detailText.text;
-
- FileItem *newPath = [storage save:note item: self.detailItem];
-
- // To notify master view, retract reference from navigation controller.
- MasterViewController *master = [self.navigationController.viewControllers objectAtIndex:0];
-
- if (self.detailItem.name) {
- // item exists
- if (self.detailItem != newPath) {
- [master itemChanged: self.detailItem to:newPath];
+ if (isModify) {
+ NSString *note = self.detailText.text;
+ FileItem *newPath = [storage save:note item: self.detailItem];
+
+ // To notify master view, retract reference from navigation controller.
+ MasterViewController *master = [self.navigationController.viewControllers objectAtIndex:0];
+
+ if (self.detailItem.name) {
+ // item exists
+ if (self.detailItem != newPath) {
+ [master itemChanged: self.detailItem to:newPath];
+ }
+ } else {
+ // new item
+ [master itemAdded: newPath];
}
- } else {
- // new item
- [master itemAdded: newPath];
}
[super viewWillDisappear: animated];
}
}
+- (void)textViewDidChange:(UITextView *)textView {
+ isModify = YES;
+}
+
#pragma mark - Notification handler
- (void)keyboardDidShow:(NSNotification*)notification {