我在 UITableViewCell 中有一个 UITextField。我不想要的是应用程序保存用户输入的文本。我尝试使用以下代码使 UITextField 调用操作:
[TextField addTarget:self action:@selector(saveTextField:) forControlEvents:UIControlEventEditingDidEndOnExit];
但是,它加载的此操作无法正常工作:
- (IBAction)saveTextField:(id)sender {
NSString *TextFieldString = [[NSString alloc] initWithString:TextField.text];
[TextField setText:TextFieldString];
NSUserDefaults *UserSettings = [NSUserDefaults standardUserDefaults];
[UserSettings setObject:TextField forKey:@"TextField"]; }
当我尝试通过单击“完成”隐藏键盘来退出 UITextField 时,我收到此消息:
*** WebKit discarded an uncaught exception in the webView:shouldInsertText:replacingDOMRange:givenAction: delegate: <NSInvalidArgumentException> *** -[NSPlaceholderString initWithString:]: nil argument
应用程序中没有任何反应。
有什么想法吗?
提前致谢:)
最佳答案
我在我的一个应用程序中使用完全相同的功能,这是我使用的代码:
[[NSUserDefaults standardUserDefaults]setObject: textField.text forKey:@"TextField"];
基本上,我认为 saveTextField 方法中分配新字符串的前两行是不必要的。
关于ios - Xcode : Why doesn't this code work for saving UITextField using NSUserDefaults?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535894/