Ist es notwendig, nach der Veröffentlichung Zeiger auf NIL in Objective-C zu setzen?

StackOverflow https://stackoverflow.com/questions/803531

  •  03-07-2019
  •  | 
  •  

Frage

Gibt es etwas falsch daran, so etwas zu tun

NSString * string = [ [ NSString alloc ] init ];
...
[ string release ];

Oder gibt es einen Wert (außer Best Practice) auch beim Hinzufügen

string = nil;

?

War es hilfreich?

Lösung

Nicht notwendig, aber gute Praxis. Wenn Sie sich nach der Veröffentlichung versehentlich verweisen würden, könnten schlechte Dinge passieren, aber in objektivem C hat es keinen Schaden, einen Null zu verweisen.

Andere Tipps

Das Festlegen einer Instanzvariablen in NIL ist in einer Multi-Thread-Anwendung nützlicher als eine einzelne Threads, da Sie mit mehreren Threads nicht immer garantieren können, dass eine Instanzvariable nur gelesen wird Vor Es wird veröffentlicht.

Ich kümmere mich im Allgemeinen nicht um Anwendungen mit einem Thread, es sei denn, es gibt einen anderen zwingenden Grund.

Objective-C ist wirklich das gleiche wie C mit einem ausgefallenen Präprozessor.

Das Einstellen eines Zeigers auf NIL in Objective-C hat keinen Einfluss auf das, worauf dieser Zeiger einst hingewiesen wurde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top