使用NSUserDefaults在UITextView中保存文本?

时间:2013-01-21 15:39:36

标签: ios6 uitextview xcode4.5 nsuserdefaults

有没有办法使用NSUserDefaults在UITextView中保存文本?当我将它用于UITextField时,它可以正常工作。这是我用于UITextField的代码:

- (void)viewDidLoad {

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
 NSString *text1 = [defaults objectForKey:@"text1"];
 textfield1.text = text1;

}

- (IBAction)saveButton {

 [textfield1 resignFirstResponder];
 NSString *text1 = [textfield1 text];
 NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
 [myDefaults setObject:text1 forKey:@"text1"];
 [myDefaults synchronize];
 NSLog(@"Data Saved")

}

但是,如果我使用这种简单的方法来保存UITextView而不是UITextField,则视图中的数据不会保存。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您用于UITextField的完全相同的代码应该适用于UITextView;方法text适用于两者。

此代码对我有用:

[textView resignFirstResponder] ;
NSString* textViewContents = textView.text ;
NSLog(@"textViewContents is: %@", textViewContents) ;

NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults] ;
[userDefaults setObject:textViewContents forKey:@"textView"] ;
[userDefaults synchronize] ;

我猜你的问题在于访问你的UITextView文本。 NSLog,正如我上面所做的那样,看看它是否符合您的预期。