【问题标题】:Saving UITextField Input保存 UITextField 输入
【发布时间】:2011-08-15 10:48:41
【问题描述】:

我已经查看了许多与此相关的其他问题(我知道有很多!),但似乎没有一个能满足我的查询。 基本上我有一个包含两个 UITextFields 的视图控制器。 该应用程序旨在加载此页面,用户输入数字,然后点击背景以摆脱键盘,并保存值。然后,我希望每次用户导航回页面时将其预加载到文本字段中。我想我将不得不创建另一个名为 saveData 或其他东西的 IBAction,但是当点击背景时是否有自动保存它?另外为了保存我正在考虑使用 NSUserDefaults 的数据,还有其他方法可以保存数据吗? 任何帮助表示赞赏, 迈克尔 我将以下代码用于我的应用程序的编辑和背景点击部分:

-(IBAction) textFieldDoneEditing : (id) sender{

[sender resignFirstResponder];

}

-(IBAction) backgroundTap:(id) 发送者{

[self.textInputOne resignFirstResponder];
[self.textInputTwo resignFirstResponder];

}

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    NSUserDefaults 可以很好地解决这个问题:

    -(IBAction) backgroundTap:(id) sender {
    
        NSString *inputOne = textInputOne.text;
        NSString *inputTwo = textInputTwo.text;
    
        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
        [userDefaults setObject:inputOne forKey:@"InputOne"];
        [userDefaults setObject:inputTwo forKey:@"InputTwo"];
    
        [textInputOne resignFirstResponder];
        [textInputTwo resignFirstResponder];
        [sender resignFirstResponder];
    }
    

    然后在- (void)viewDidLoad回调存储的NSUserDefaults:

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];   
    textInputOne.text = [userDefaults objectForKey:@"InputOne"];
    textInputTwo.text = [userDefaults objectForKey:@"InputTwo"];
    

    应该没问题

    【讨论】:

      【解决方案2】:

      如果您想保存数据(尤其是在应用程序关闭的情况下),NSUserdefaults 是一种不错且简单的方法。其他选项包括写入您自己的 plist 文件或设置核心数据存储,但您只是保存了两个数字,因此不确定是否需要所有这些。

      【讨论】:

        猜你喜欢
        • 2017-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多