簡體   English   中英

Xcode:為什么此代碼無法使用NSUserDefaults保存UITextField?

[英]Xcode: Why doesn't this code work for saving UITextField using NSUserDefaults?

我在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方法中分配新字符串的前兩行不是必需的。

首先:感謝您的努力和時間:)

事實證明,問題不在於保存和加載它的代碼。 問題是我只創建了一個UITextfield,然后將其放入每個UITableViewCell中,這就是問題所在。 所以我為每個UITableViewCells創建了單獨的UITextFields並解決了問題:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM