Die Verwaltung UITextField.text-Eigenschaft
Gut, ich habe ein UITextField.
Innen es ist eine Eigenschaft, die UITextField.text.
Ist es ok zu tun:
//Assume we have UITextField * tf somewhere..
//now set its text..
tf.text = [ [ NSString alloc ] initWithUTF8String:"Init'd with utf8" ] ;
Mein problem mit diesem Speicher. Was passiert auf den alten Wert der UITextField-text-Eigenschaft.
Nicht Sie zu tun haben:
//maintain reference to old NSString
NSString * oldTfText = tf.text ;
//set the value to the new value you want
tf.text = [ [ NSString alloc ] initWithUTF8String:"Init'd with utf8" ] ;
//release the old NSString now..
[ oldTfText release ] ;
Ich bin immer noch denken, memory mgmt als ich in der normalen C., das könnte der Fehler hier.
Du musst angemeldet sein, um einen Kommentar abzugeben.
UITextField-verantwortlich für die Freigabe von irgendeinem alten Wert, den es hat. Ihr Anliegen ist nur mit Ihrem code und Sie sind richtig, dass diese alloc ' ed NSString freigegeben werden muss.
Können Sie auch autorelease zu vermeiden, die zusätzliche Erklärung.
tf.text ist ein setter. Blick auf die header-Dateien, die Eigenschaft definiert ist:
So, ich würde denken, Sie sollten es auf diese Weise, und lassen Sie das system kümmern sich um Ihre eigene Kopie: