Gibt es irgendeine Art von Ziel zum Nullsetzen von Speicher, das c für mich übernimmt, wenn ich zuerst eine Klasseninstanz zuteile? Ich sehe eine Menge objektiven Code, der davon ausgeht, dass ihre Ausgänge nil
standardmäßig sind. Wenn ich das gleiche tue, stütze ich solches Verhalten auf falsche Vorwände?Objective-C-Klasseninstanz auf alloc zurückgesetzt?
4
A
Antwort
8
NSAllocateObject
gibt einen Speicherblock zurück, der groß genug ist, um alle Ivars in der Klasse einzubeziehen; Sein Zeiger isa
wird auf die Klasse gesetzt, und der Rest des Blocks wird mit 0 gefüllt. +[NSObject alloc]
Aufrufe +[NSObject allocWithZone:]
, die dann intern NSAllocateObject
aufrufen.
8
Ja, alle zugewiesenen Objekte werden auf Null gesetzt. Siehe NSObject alloc documentation. Es ist durch die Sprache garantiert, so dass es vollkommen sicher ist, dies zu tun, und die Mitglieder auf 0 zu setzen, wäre überflüssig.
Verwandte Themen
- 1. Methode swizzling für "alloc"?
- 2. cumSum zurückgesetzt auf NaN
- 3. Stack-Dump mit Alloc
- 4. NSMUrableArray alloc und init
- 5. UIProgressView bleibt auf 0.0 zurückgesetzt
- 6. Globale Variable zurückgesetzt auf 0
- 7. MFMessageComposeViewController Alloc gibt Null zurück
- 8. Wie optimiere Code mit Introspektion + schweres Alloc auf dem iPhone
- 9. glib Speicherzuweisung VS Std * Alloc und frei
- 10. Wo ist der Unterschied zwischen [MyClass Alloc] und [[Self Class] Alloc]?
- 11. Benutzerbereich App Einstellungen immer auf Standardwerte zurückgesetzt
- 12. Markierung auf Google Map API zurückgesetzt v3
- 13. Formularwerte nicht gesendet, auf AJax zurückgesetzt
- 14. Jede Funktion führt auf Arduino zurückgesetzt
- 15. Instanzvariablen zurückgesetzt nach der Instanziierung auf Standard
- 16. JQuery Datatable wird auf get zurückgesetzt
- 17. Wie wird eine Transaktion auf Android zurückgesetzt?
- 18. Eclipse-Tastenbelegungen beim Start auf Standard zurückgesetzt
- 19. NSCursor wird immer auf Pfeil zurückgesetzt
- 20. java.net.SocketException: Verbindung zurückgesetzt auf Tomcat Only
- 21. Powershell AD Passwort zurückgesetzt auf mehreren Domänencontrollern
- 22. NSUserDefault, Alloc init vs standard userdefault
- 23. Alloc init lädt keine Komponente in es
- 24. ios Speicher alloc Probleme Screenshot nehmen
- 25. Objective-C-Speicherverwaltung (Alloc und AutoRelease)
- 26. alloc, init, und neu in Objective-C
- 27. alloc und init was tun sie eigentlich
- 28. Der schnellste Weg zu Alloc 1000000 NSObject?
- 29. Objective C: behalten vs alloc - revisited
- 30. konvertieren NSString in NSAttributedString ohne alloc init