Ist Es Erforderlich, die Zeiger auf nil in Objective-C Nach release?
Gibt es etwas falsch mit dem Gedanken, etwas wie
NSString * string = [ [ NSString alloc ] init ];
...
[ string release ];
oder gibt es irgendeinen Wert (außer best-practice) in auch hinzufügen
string = nil;
?
- Einstellung zu null macht NSZombieEnabled Nutz ich denke, so könnte kontraproduktiv sein. Es wäre besser, wenn jemand mehr wissen als Sie mir das erklärt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht notwendig, aber gute Praxis. Wenn Sie versehentlich zu verweisen, nach der Entlassung, schlechte Dinge passieren könnte, aber in Objective-C gibt es keinen Schaden bei dem verweisen auf eine null.
Einstellung eine Instanz-variable nil ist mehr nützlich in multi-threaded-Anwendung, die als ein single-threaded, da mit mehreren threads können Sie nicht immer garantieren, dass eine Instanz-variable wird nur gelesen vor es erschienen ist.
Ich in der Regel nicht die Mühe, in single-threaded-Anwendungen, es sei denn, es gibt einige andere überzeugende Grund.
Objective-C ist eigentlich die gleiche wie bei C mit einem ausgefallenen Präprozessor.
Einstellung einen Zeiger auf nil in Objective-C hat keinen Einfluss auf das was einmal war darauf hingewiesen, dass durch Zeiger.