Sunday, 15 January 2012

NSUserDefaults and Modal segues


i'm trying learn data persistence book, , i'm using xcode 4.2 practice. i'm confused , i'm hoping out there can me understand.

in ios 5, using xcode 4.2; on iphone storyboard, modal segue deallocate view i'm leaving?

if so, why doesn't nsuserdefaults assign text label in uibuttons on previous view? i'm forcing nsuserdefaults synchronise. uibutton text populate, when exist , re-open application.

code:
- (void) savecardiacstring:(nsstring *) mystring  {      nsuserdefaults *userdefaults = [nsuserdefaults standarduserdefaults];      [[nsuserdefaults standarduserdefaults] setobject:mystring forkey:@"cardiac"];      [userdefaults synchronize];  }
code:
- (void) saverespiratorystring:(nsstring *) mystring  {      nsuserdefaults *userdefaults = [nsuserdefaults standarduserdefaults];      [[nsuserdefaults standarduserdefaults] setobject:mystring forkey:@"respiratory"];      [userdefaults synchronize];  }

code:
- (void)pickerview:(uipickerview *)pickerview         didselectrow:(nsinteger)row          incomponent:(nsinteger)component  {      if ([[_currentoptions objectatindex:0] isequaltostring:@"no cardiac failure"]) {      [self savecardiacstring:[_currentoptions objectatindex:row]];      } else if ([[_currentoptions objectatindex:0] isequaltostring:@"no dyspnoea"]) {      [self saverespiratorystring:[_currentoptions objectatindex:row]];      }      nslog(@"cardiac string set %@", [self retrievecardiacstringvalue]);      nslog(@"respiratory string set %@", [self retrieverespiratorystringvalue]);  }
nslogs show nsuserdefaults assigned.

previous view

code:
- (nsstring *) retrievecardiacstringvalue  {      return [[nsuserdefaults standarduserdefaults] objectforkey:@"cardiac"];  }
code:
- (nsstring *) retrieverespiratorystringvalue  {      return [[nsuserdefaults standarduserdefaults] objectforkey:@"respiratory"];  }
the following generate*options methods call nsarray generated, passed picker in modal view when button pressed.

code:
- (void)viewdidload  {      _currentcardiacoptions = [cardiac generatecardiacoptions];      _currentrespiratoryoptions = [respiratory generaterespiratoryoptions];            if ([[nsuserdefaults standarduserdefaults] objectforkey:@"cardiac"] == nil) {          [_cardiacvaluebtn settitle:@"0" forstate:uicontrolstatenormal];      } else {          [_cardiacvaluebtn settitle:[self retrievecardiacstringvalue] forstate:uicontrolstatenormal];      }            if ([[nsuserdefaults standarduserdefaults] objectforkey:@"respiratory"] == nil) {          [_respriatoryvaluebtn settitle:@"0" forstate:uicontrolstatenormal];      } else {          [_respriatoryvaluebtn settitle:[self retrieverespiratorystringvalue] forstate:uicontrolstatenormal];      }            [super viewdidload];  }
 

might suggest starting new project , turn off storyboarding, can concentrate on data persistence topics being taught book? once comfortable them, go , revisit how storyboards affect implementation.

also, courtesy others, when refer book, please provide title, author, , edition, @ minimum.
 


Forums iPhone, iPad, and iPod Touch iOS Programming


  • iPhone
  • Mac OS & System Software
  • iPad
  • Apple Watch
  • Notebooks
  • iTunes
  • Apple ID
  • iCloud
  • Desktop Computers
  • Apple Music
  • Professional Applications
  • iPod
  • iWork
  • Apple TV
  • iLife
  • Wireless

No comments:

Post a Comment