Wenn mein UITextView eine Textzeile in mein erstes UITextField platziert, kann ich den Text nicht speichern.Warum speichert mein UITextField nicht?
Heres mein Code, dann ist dies die Informationen aus einem Textview
-(IBAction)print:(id)sender {
NSLog(@"text = %@",[textView text]);
NSArray *textArray = [[textView text] componentsSeparatedByString:@"\n"];
if (textArray.count > 0) {
NSString *line1 = textArray[0];
[myTextField setText:line1];
if (textArray.count > 1) {
NSString *line2 = textArray[1];
[myTextField1 setText:line2];
}
}
[textView setText:@""];
[textView resignFirstResponder];
}
Heres, wie ich versuche zur Zeit zu bewegen, um die Informationen zu speichern und zu laden.
- (void)viewDidLoad {
[super viewDidLoad];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[myTextField setText:[defaults valueForKey:@"textfield_text"]];
[myTextField setDelegate:self];
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *defaultsKeyForTextField;
if ([textField isEqual:myTextField]) {
defaultsKeyForTextField = @"textfield_text";
}
[defaults setValue:textField.text forKey:defaultsKeyForTextField];
[defaults synchronize];
}
Was scheint zu passieren ist, dass der Text nur speichert, wenn ich manuell Text eingeben.
'textFieldDidEndEditing' wird nur aufgerufen, wenn das Textfeld den ersten Responder zurückgibt. – TangZijian
sollten Sie Haltepunkte setzen und den Code debuggen, wenn Sie das Gefühl haben, dass etwas nicht so läuft, wie Sie es möchten. Sie können den PO-Befehl verwenden, um einen bestimmten Wert in der Konsole zu drucken. – Ujjwal
Warum speichern Sie userdefault auch in viewdidload? –