ios - How to store data using NSUserDefaults which is fetched from URL and set them to textFields -


in code below, getting data url , storing textfields directly. however, data lost when app goes background long period , reopen suspended state.

does have idea how fetch , store data in nsuserdefaults, don't lose it, , show in text fields?

- (void)viewdidload {      [super viewdidload];      nsmutableurlrequest *request=[nsmutableurlrequest requestwithurl:[nsurl urlwithstring:@"http://190.179.4.9:92/mybite_joomla/cron/webapi.php?task=webapi.viewprofile"]];      [request sethttpmethod:@"get"];      [request setvalue:@"application/json;charset=utf-8" forhttpheaderfield:@"content-type"];      nserror *err;     nsurlresponse *response;     nsdata *responsedata = [nsurlconnection sendsynchronousrequest:request returningresponse:&response error:&err];      nsdictionary *jsonarray = [nsjsonserialization jsonobjectwithdata:responsedata options: nsjsonreadingmutablecontainers error: &err];      (nsdictionary *dict in jsonarray) {          // here directly setting textfields , need store first         nametextview.text =[jsonarray valueforkey:@"name"];             usernametextview.text =[jsonarray valueforkey : @"username"];          emailtextview.text=[jsonarray valueforkey : @"email"];          citytextview.text =[jsonarray valueforkey : @"city"];          statetextview.text =[jsonarray valueforkey : @"state"];          countrytextview.text =[jsonarray valueforkey : @"country"];     } } 

for (nsdictionary *dict in jsonarray) {  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"name"] forkey:@"namestring"];  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"username"] forkey:@"usernamestring"];  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"email"] forkey:@"emailstring"];  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"city"] forkey:@"citystring"];  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"state"] forkey:@"statestring"];  [[nsuserdefaults standarduserdefaults]setobject:[jsonarray valueforkey:@"country"] forkey:@"countrystring"];      } 

then, in viewwillappear :

    nametextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"namestring"];      usernametextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"usernamestring"];      emailtextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"emailstring"];      citytextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"citystring"];      statetextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"statestring"];      countrytextview.text = [[nsuserdefaults standarduserdefaults] stringforkey:@"countrystring"];