ios - Can only save core data when text in message is altered? Xcode -


so in xcode, have notes app utilizes core data. there 2 fields, title textfield , message textview. 1 issue i'm having if user makes note , decides go , edit later, user has edit message have able save again. want save regardless if change message or title. thanks

   #import "devicedetailviewcontroller.h" @interface devicedetailviewcontroller ()  @end  @implementation devicedetailviewcontroller @synthesize device; - (nsmanagedobjectcontext *)managedobjectcontext {     nsmanagedobjectcontext *context = nil;     id delegate = [[uiapplication sharedapplication] delegate];     if ([delegate performselector:@selector(managedobjectcontext)]) {         context = [delegate managedobjectcontext];     }     return context; } @synthesize message; @synthesize titles; @synthesize button; - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil {     self = [super initwithnibname:nibnameornil bundle:nibbundleornil];     if (self) {         // custom initialization     }     return self; }  - (void)viewdidload {     [super viewdidload];     [button setenabled:no];     titles.delegate = self;     message.delegate = (id)self;     // additional setup after loading view.     if (self.device) {         [self.titles settext:[self.device valueforkey:@"name"]];         [self.message settext:[self.device valueforkey:@"version"]];     }  }  - (void)didreceivememorywarning {     [super didreceivememorywarning];     // dispose of resources can recreated. }  - (ibaction)cancel:(id)sender {     [self dismissviewcontrolleranimated:yes completion:nil]; }  - (ibaction)save:(id)sender {     nsmanagedobjectcontext *context = [self managedobjectcontext];     if (self.device) {         // update existing device         [self.device setvalue:self.titles.text forkey:@"name"];         [self.device setvalue:self.message.text forkey:@"version"];      } else {         // create new device         nsmanagedobject *newdevice = [nsentitydescription insertnewobjectforentityforname:@"device" inmanagedobjectcontext:context];         [newdevice setvalue:self.titles.text forkey:@"name"];         [newdevice setvalue:self.message.text forkey:@"version"];         }      nserror *error = nil;     // save object persistent store     if (![context save:&error]) {         nslog(@"can't save! %@ %@", error, [error localizeddescription]);         }      [self dismissviewcontrolleranimated:yes completion:nil]; } - (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range     replacementstring:(nsstring *)string {     if (titles.text.length >= 35 && range.length == 0)         return no;         return yes; } //code beyond point disabling keyboard when click outside of textfield -(void)touchesbegan:(nsset *)touches withevent:(uievent *)event {     [message resignfirstresponder];     [titles resignfirstresponder]; } - (bool)textfieldshouldreturn:(uitextfield *)textfield {     [titles resignfirstresponder];     return no; } //enabling/disabling 'save' button based on texfield data - (bool)textview:(uitextview *)textview shouldchangetextinrange:(nsrange)range replacementtext:(nsstring *)text {         if ([titles.text length] != 0 && [message.text length] != 0)    {              [button setenabled:yes];     }     else      {             [button setenabled:no];     }      return yes; } @end 


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -