Xcode:为什么我的应用程序不保存UITextField?
我有一个应用程序,我切换到使用presentModalViewController的TableView视图。然而,使用TableView的视图不在UITableViewController中,而是在普通的UIViewController中。我已经将UITextFields写入UITableViewCells。我用这个动作救什么用户输入:Xcode:为什么我的应用程序不保存UITextField?
- (IBAction)saveTextField:(id)sender {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:TextField.text forKey:@"keyTextField"];
[userDefaults synchronize]; }
我把这种方法与此代码:
[TextField addTarget:self action:@selector(hideKeyboard:) forControlEvents:UIControlEventEditingDidEndOnExit];
当我使用dismissModalViewController驳回视图控制器,然后当我再次介绍它,我打电话使用此代码的ViewDidLoad中的NSUserDefaults:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
TextField.text = [userDefaults objectForKey:@"keyTextField"];
问题是它不起作用。我无法弄清楚这个问题。任何帮助,将不胜感激。
感谢提前:)
要首先:感谢所有的你的精力和时间:)
原来,问题是不是与保存和载入它的代码。问题是我只创建了一个UITextfield,然后将其放入每个UITableViewCell中,这就是问题所在。所以我为每个UITableViewCells创建了单独的UITextFields,并解决了这个问题:)
的target
必须与您的方法,这意味着如果你有- (void)saveTextField:(id)sender
,那么你的代码添加目标必须
[TextField addTarget:self action:@selector(saveTextField:) forControlEvents:UIControlEventEditingDidEndOnExit];
检查全光照NSLog
如果你的行动正在运行。
哦,其实它已经是...我只是发布了错误的代码...所以问题仍然存在:( –
而不是设置目标,你不能使用textFieldDidEndEditing:delegate方法进行保存吗?
使用此代码在视图中加载 NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; TextField.text = [user stringForKey:@“keyTextField”];
尝试在您的'savetextfield'方法中放置断点。检查方法是否被调用。然后,在这里发布结果.. – sicKo