Ios 从其他视图返回时如何存储按钮和文本字段值

Ios 从其他视图返回时如何存储按钮和文本字段值,ios,objective-c,iphone,xcode,Ios,Objective C,Iphone,Xcode,我的应用程序中有三个视图。在第一个视图中,有三个按钮和两个文本字段。当我按下任何按钮时,tableview中的tableview项将是按钮标题,而textfield中的值将来自键盘 当我跳转到第二个视图执行我的工作并返回到第一个视图时,我从tableview中选择的按钮标题不会出现在按钮上以及文本字段中 那么,如何设置按钮标题和文本字段值呢。我不想将值从一个视图传递到第二个视图。您可以将字符串保存在NSUserDefaults中。调用didSelectRowAtIndexPath时,按如下方式保

我的应用程序中有三个视图。在第一个视图中,有三个
按钮
和两个
文本字段
。当我按下任何
按钮时,
tableview
中的
tableview
项将是按钮标题,而
textfield
中的值将来自键盘

当我跳转到第二个视图执行我的工作并返回到第一个视图时,我从
tableview
中选择的按钮标题不会出现在
按钮上以及
文本字段中


那么,如何设置
按钮
标题和
文本字段
值呢。我不想将值从一个视图传递到第二个视图。

您可以将字符串保存在NSUserDefaults中。调用didSelectRowAtIndexPath时,按如下方式保存按钮标题

[[NSUserDefaults standardUserDefaults]setObjectForKey:cell.titleLabel.text forKey:@"button_title"];
textField
执行相同的操作。 像这样设置按钮的标题 要第一次检查NSUserDefaults是否包含数据,请应用以下命令

    if(![[NSUserDefaults standardUserDefaults]objectForKey:@"button_title"]){
        [self.button setTitle:@"anyString" forState:UIControlStateNormal];
    }
    else
    {
        //set button from user defaults.
NSString *buttonTitle=[[NSUserDefaults standardUserDefaults]valueForKey:@"button_title"];
[self.button setTitle:buttonTitle forState:UIControlStateNormal];
    }

并自行设置静态按钮标题。

使用NSUserdefaults将按钮标题和文本字段值存储为

 NSString *firstName = [firstNameTextField text];
NSString *lastName  = [lastNameTextField text];

 // Store the data
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:firstName forKey:@"firstName"];
[defaults setObject:lastName forKey:@"lastname"];
&从NSuserdefaults获取数据,如下所示

// Get the stored data before the view loads
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *firstName = [defaults objectForKey:@"firstName"];
NSString *lastName = [defaults objectForKey:@"lastname"];


// Update the UI elements with the saved data
firstNameTextField.text = firstName;
lastNameTextField.text = lastName;
// Get the stored data before the view loads

 -(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];



 NSString * txtName = [[NSUserDefaults standardUserDefaults] objectForKey:@"txtNmae"];
if(txtName)
{
 yourtextField.text= txtName;
 }
else
 {
  yourtextField.text= @"";
 }

  NSString * buttonName = [[NSUserDefaults standardUserDefaults] objectForKey:@"buttonName"];
 if(buttonName)
 {
[yourbuttonName setTitle: buttonName forState:UIControlStateNormal];
 }
else
 {
  [yourbuttonName setTitle: @"as your Wish" forState:UIControlStateNormal];
 }


 // remove the userDefaultValue

 [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"buttonName"];
 [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"txtNmae"];

 [[NSUserDefaults standardUserDefaults]synchronize];

}

第一次检查NSUserdefaults值第一次不为空。

使用
NSUserdefaults
存储
按钮和文本字段的值

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

 // Store the data
 [[NSUserDefaults standardUserDefaults] setObject:yourTextfieldName.Text forKey:@"txtNmae"];
[[NSUserDefaults standardUserDefaults] setObject:cell.yourbuttonName.titleLabel.text forKey:@"buttonName"];
 [[NSUserDefaults standardUserDefaults]synchronize];

}
从NSuserdefaults获取数据,如下所示

// Get the stored data before the view loads
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *firstName = [defaults objectForKey:@"firstName"];
NSString *lastName = [defaults objectForKey:@"lastname"];


// Update the UI elements with the saved data
firstNameTextField.text = firstName;
lastNameTextField.text = lastName;
// Get the stored data before the view loads

 -(void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];



 NSString * txtName = [[NSUserDefaults standardUserDefaults] objectForKey:@"txtNmae"];
if(txtName)
{
 yourtextField.text= txtName;
 }
else
 {
  yourtextField.text= @"";
 }

  NSString * buttonName = [[NSUserDefaults standardUserDefaults] objectForKey:@"buttonName"];
 if(buttonName)
 {
[yourbuttonName setTitle: buttonName forState:UIControlStateNormal];
 }
else
 {
  [yourbuttonName setTitle: @"as your Wish" forState:UIControlStateNormal];
 }


 // remove the userDefaultValue

 [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"buttonName"];
 [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"txtNmae"];

 [[NSUserDefaults standardUserDefaults]synchronize];

}

如果您想存储标题作为临时用途,则无需使用
NSUserDefaults
。NSUserDefault用于存储永久平均值,直到用户删除应用程序。如果您想在用户终止并重新打开应用程序后获得标题,则仅使用NSUserDefaults

您可以在AppDelegate中定义NSString并使用它,也可以在全局类中定义NSString

在AppDelegate中

@property(nonatomic,Strong)NSString *strTitle;
使用下面的代码存储此值

AppDelegate *appDel = (AppDelegate *)[[UIApplication sharedApplication]delegate];
appDel.strTitle = @"your title";

它将存储值,直到用户杀死你的应用程序。所以根据你的需要使用。

你将值存储在nsuserdefault中,并在ViewWillAspect method@bhavinramani中设置按钮标题