2016-08-26 8 views
0

Ich habe eine UITextView:verbinden IBOutlet zu textViewDidEndEditing

@property (nonatomic, weak) IBOutlet UITextView *notesTv; 

Diese von ctrl-Ziehen aus der Main.storyboard meiner .m-Datei erstellt wurde. Dieses Feld wird vom Benutzer zum Hinzufügen einer Notiz verwendet. Mein Ziel ist es, den Inhalt in NSUSerDefaults zu speichern, ohne eine Schaltfläche zum Speichern zu haben. Ich habe NSUserDefaults vorher benutzt, also ist das nicht das Problem.

Ich möchte UITextViewDelegate's textViewDidEndEditing Delegate-Methode verwenden, um Benutzereingaben zu speichern, sobald sie fertig sind, eine Notiz eingeben.

Wenn ich Ctrl-Klick auf das UITextView im Storyboard, sehe ich keine Möglichkeit, dies mit dem textViewDidEndEditing Delegaten zu verbinden. Wie kann ich diese Methode aufrufen, wenn der Benutzer die Notiz nicht mehr bearbeitet?

Antwort

1

Satz Delegierten programmatisch für gleiche Klasse

notesTv.delegate=self; und für andere Klasse
iOS - Setting delegate of input stream to another class

und dann schreiben Sie diesen Code in textViewDidEndEditing:

NSString *valueToSave = self.notesTv.text; 
    [[NSUserDefaults standardUserDefaults] setObject:valueToSave forKey:@"preferenceName"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
+0

Thank you! Das hat super funktioniert. – jftuga

Verwandte Themen