xcode 如何使用 NSUserDefaults 保存和加载 UITextField?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7318167/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 21:53:12  来源:igfitidea点击:

How to save and load UITextField using NSUserDefaults?

iosxcodeuitextfieldnsuserdefaultsviewdidload

提问by pixelbitlabs

Possible Duplicate:
How would I save and load a UITextField?

可能的重复:
如何保存和加载 UITextField?

I have tried EVERYTHING and unfortunately nothing works for me. I have probably tested about 10 ways of saving and loading the UITextFields but they don't work. I have six UITextFields and want to save them when a button is pressed and load when viewDidLoad is called.

我已经尝试了一切,不幸的是没有任何东西对我有用。我可能已经测试了大约 10 种保存和加载 UITextField 的方法,但它们不起作用。我有六个 UITextFields 并希望在按下按钮时保存它们并在调用 viewDidLoad 时加载它们。

Please can I have some help as I've got to publish the app within the next day or two and I still haven't managed to do this...

请我帮忙,因为我必须在一两天内发布应用程序,但我仍然没有设法做到这一点......

Thanks,

谢谢,

James

詹姆士

回答by mayuur

NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];

NSString* textField1Text = textField1.text;
[defaults setObject:textField1Text forKey:@"textField1Text"];

NSString* textField2Text = textField2.text;
[defaults setObject:textField2Text forKey:@"textField2Text"];

NSString* textField3Text = textField3.text;
[defaults setObject:textField3Text forKey:@"textField3Text"];

NSString* textField4Text = textField4.text;
[defaults setObject:textField4Text forKey:@"textField4Text"];

NSString* textField5Text = textField5.text;
[defaults setObject:textField5Text forKey:@"textField5Text"];

NSString* textField6Text = textField6.text;
[defaults setObject:textField6Text forKey:@"textField6Text"];

[defaults synchronize];

NSString* temp = [defaults objectForKey:@"textField1Text"];
NSString* temp = [defaults objectForKey:@"textField2Text"];
NSString* temp = [defaults objectForKey:@"textField3Text"];
NSString* temp = [defaults objectForKey:@"textField4Text"];
NSString* temp = [defaults objectForKey:@"textField5Text"];
NSString* temp = [defaults objectForKey:@"textField6Text"];

NSLog(@"%@,%@,%@,%@,%@,%@",temp1,temp2,temp3,temp4,temp5,temp6);

NEW EDIT

新编辑

  - (IBAction) saveBtnPresssed : (id) sender
  {

        NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];

        NSString* textField1Text = textField1.text;

        [defaults setObject:textField1Text forKey:@"textField1Text"];

        NSString* temp = [defaults objectForKey:@"textField1Text"];

        NSLog(@"%@",temp);

  }

回答by Suhail Patel

After you set your Objects you need to call synchronise to have it saved and committed into your User Defaults like so (Using the example you provided above in a comment):

设置对象后,您需要调用同步以将其保存并提交到您的用户默认值中,如下所示(使用您在上面的评论中提供的示例):

- (IBAction)doSaveAllNotes{

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [prefs setObject:Assignment1.text forKey:@"Assignment1Text"];
    [prefs synchronize]; // This is to save it and is pretty important!

    NSLog(@"Saved All Notes");
}

回答by Tendulkar

This linkmay be helpful to you.

链接可能对您有所帮助。

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// saving an NSString

// 保存一个 NSString

[prefs setObject:@"your textField text" forKey:@"keyToLookupString"];