Wie nehme ich ein NSObject, dass ich alle Attribute festgelegt habe und dann kopieren Sie das in einen anderen Speicherblock, den ein Array verwenden kann, so dass ich das Original wieder verwenden kann?Erstellen Sie eine Kopie eines NSObject
Antwort
Kurz gesagt, Sie nicht.
Wenn Sie das Objekt in ein Array einfügen und dann ein neues Objekt erstellen möchten, tun Sie genau das; addObject:
zum Array und alloc/init
ein neues.
Wenn Sie fragen, wie Sie ein Objekt in, sagen wir, eine zufällige malloc()
Block irgendwo - sagen, in der Mitte eines Arrays - dann das ist ein ganz anderes Problem. Es kann technisch gemacht werden, aber im Grunde tut niemand so, wie die Frameworks und Laufzeit nicht dafür ausgelegt sind.
Ohne mehr über Ihre spezifischen Bedürfnisse zu wissen, ist es unmöglich, näher darauf einzugehen.
Die Erstellung einer Kopie eines Objekts erfolgt durch Senden der Nachricht copy
. Dies funktioniert nur bei Instanzen von Klassen, die das NSCopying
-Protokoll implementieren.
Lesen Sie Implementing Copy für einen guten Überblick. Dann lesen Sie Implementing NSCopying Considered Harmful für weitere Hintergrundinformationen.
Das beantwortet die Frage nicht; Er möchte das Objekt in ein Array kopieren und dann das Original wiederverwenden. – bbum
Apple Link funktioniert nicht mehr – AsifHabib
Dies beantwortet die Frage, da das OP nicht spezifisch für "Byte-Kopie" ist. Dies scheint die [aktualisierte Dokumentation] zu sein (https://developer.apple.com/library/ios/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/CopyFunctions.html#//apple_ref/doc/uid/20001149-CJBEJBHH) beim Kopieren (was merkwürdig ist, da die [letzte Version] (https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/RevisionHistory.html) angeblich älter ist als diese Antwort). – jkoreska
- 1. Erstellen einer Kopie eines Objekts in C++
- 2. Kann ich eine bitweise Kopie eines C++ Objekts erstellen?
- 3. Erstellen Sie eine Kopie eines Objekts, anstatt die Reinitialisierung innerhalb eines neuen Multiprocessing-Prozesses
- 4. Casting eines NSObject zu NSString
- 5. Konvertieren eines NSObject in NSData
- 6. So erstellen Sie eine flache Kopie einer Liste in Python
- 7. Erstellen Sie eine genaue Kopie von TPanel auf Delphi5
- 8. Erstellen Sie eine Kopie einer Datatable mit einigen Änderungen
- 9. Wie erstellen Sie eine Kopie einer UIImageView-Instanz?
- 10. Machen Sie eine Kopie eines unbekannten konkreten Typ in C++
- 11. Eine unabhängige Kopie von UIBezierPath erstellen?
- 12. Erstellen Sie eine Kopie eines Objekts und aller zugehörigen Modelle in Schienen
- 13. So erstellen Sie eine Kopie eines Objekts, das nicht mit dem Original verbunden ist
- 14. Erstellen Sie eine Kopie eines Input von einem HttpURLConnection so kann es zweimal
- 15. So erstellen Sie eine Kopie eines verschachtelten Array in einem Array Array-Struktur
- 16. Wie erstellt man eine Kopie eines Objekts?
- 17. Erstellen einer Kopie eines beliebigen Zeigerelements im Kopierkonstruktor varible
- 18. Tiefe Kopie eines Drawable
- 19. Commits zu einer lokalen Kopie eines SVN-Repository erstellen
- 20. So erstellen Sie eine Kopie der Daten, wenn die Daten eine Hierarchie haben
- 21. Erstellen einer Kopie einer UIView in Swift
- 22. Erstellen einer Kopie einer Ansicht?
- 23. Macht die Dereferenzierung eines Zeigers eine Kopie davon?
- 24. Verwenden Sie mehrere Kopie eines gezogenen Canvas-Elements
- 25. Wie erstellen Sie eine Kopie einer VS2005-Lösung, während Sie sie von VSS trennen?
- 26. Erstellen Sie eine Miniaturansicht eines Word-Dokuments
- 27. Wie erstelle ich eine exakte Kopie eines Arrays?
- 28. Standardspeicherort in "Kopie" eines Google-Dokuments ändern
- 29. Wie erhalte ich eine unabhängige Kopie eines XDocuments?
- 30. Wie eine Kopie eines Datensatzes erstellen, die einen Zeitstempel Wert hat
Hier ist ein Thread, dass ich begann, dass tc mir geholfen hat, aber nicht half mir den ganzen Weg: http://stackoverflow.com/questions/3697072/well-using-nsxmlparser-the-values-inside-an- Array-sind-all-Set-to-the-last-Eintrag – Chris
OK - Ich sehe, was Ihre wahre Frage ist. – bbum
Ich habe es jetzt herausgefunden, aber jetzt lecke ich ein Date-Objekt. – Chris