我在调用时如何在viewController中保留我的uitextfield值?

时间:2014-10-30 10:42:06

标签: ios nsuserdefaults retain nscoding

我的主页面在我的第一个视图中有3个文本字段,因为我导航到不同的视图并返回到我的第一个视图(即在我输入所有值后移动到下一页)。我希望我的3个文本字段保留它的价值当我回到我的主页这里我的示例代码:

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *mobile = MobileNum.text;
 [defaults setObject:mobile forKey:self.MobileNum.text];
 NSString *amountText = amount.text;
 [defaults setObject:amountText forKey:self.amount.text];
 [defaults synchronize];
 NSString *temp = [defaults objectForKey:self.MobileNum.text];
 NSString *temp1 = [defaults objectForKey:self.amount.text];
 NSLog(@"%@ %@",temp,temp1);

1 个答案:

答案 0 :(得分:0)

在viewWillDisappear方法中存储默认值,如。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *mobile = MobileNum.text;
 [defaults setObject:mobile forKey:@"mobileNumber"];
 NSString *amountText = amount.text;
 [defaults setObject:amountText forKey:@"amount"];
 [defaults synchronize];

再次在viewWillAppear方法中检索像。

这样的值
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
   if ([[defaults valueForKey:@"mobileNumber"] length]>0){
     MobileNum.text=[defaults valueForKey:@"mobileNumber"];
   }
 else {
     MobileNum.text=@"";
  }
  if ([[defaults valueForKey:@"amount"] length]>0) {
    amount.text=[defaults valueForKey:@"amount"];
   }
 else {
    amount.text=@"";
  }

它会起作用。