Kann der genaue von @synthesize generierte Code angezeigt werden?Anzeigen des von @synthesize generierten Codes für Getter/Setter
Antwort
können Sie die Clang-Compiler Quelle lesen Sie den C++ Code zu sehen, die die Getter und Setter-Methoden erzeugt:
http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CGObjC.cpp
Es ist ziemlich kryptisch, aber das ist die genaueste Methode erzeugt, um den Code zu sehen. Sie können auch die Implementierungen objc_getProperty und objc_setProperty unter Apple's runtime implementation betrachten. Obwohl dieser Code nicht wörtlich der Code ist, der generiert wird, ist er viel einfacher zu lesen und gibt einen klaren Hinweis darauf, was ein richtiger Getter und Setter tun sollte.
Wenn "clear" enthält viele tote Code in Ihrer Datei, dann ja. Aber du hast recht, das gute Zeug ist auch dort vergraben. –
Sicher ist es. Wechseln Sie zur .m-Datei, in der Sie die Eigenschaft @synthesized
haben, und wählen Sie dann im Menü Erstellen die Option "Assembly-Code anzeigen". Der Compiler setzt bequem in Sachen wie:
.align 4, 0x90
"-[Foo setStr:]":
Leh_func_begin2:
Lfunc_begin2:
....
Und
.align 4, 0x90
"-[Foo answer]":
Leh_func_begin3:
Lfunc_begin3:
....
Oh, Sie wollten Objective-C Code? Entschuldigung, dies wird vom Compiler erledigt, und der Compiler liest Objective-C, aber schreibt in Assembly.
- 1. Ausgabeverzeichnis des generierten Codes in Großbuchstaben ändern
- 2. Anzeigen des Codes einer Python-Funktion
- 3. Wie wird die Platzierung des generierten Codes in IntelliJ konfiguriert?
- 4. Automatisch generierten Primärschlüssel für JSP anzeigen
- 5. Drucken von Ausdrucken des Codes
- 6. C# Reihenfolge des vom Designer generierten Codes für die benutzerdefinierte Steuerung ändern, die die Benutzerkontrolle erweitert
- 7. @Eigenschaft @synthesize
- 8. Erklärung des Asm-Codes
- 9. @property und @synthesize
- 10. Unterschrift des generierten Operators =()?
- 11. Verbindungszeichenfolge außerhalb des Codes
- 12. Gültigkeit des Codes
- 13. Wie setzen Sie @synthesize für ein Array?
- 14. Unterdrückungswarnung für generierten C# Code
- 15. Muss ich @synthesize einbeziehen?
- 16. C# Optimieren des Codes
- 17. Komplexität des folgenden Codes
- 18. Einrücken des vorhandenen OCaml-Codes
- 19. Objective-C synthesize Eigenschaftsname überschreiben
- 20. JSLint - Abschnitte des Codes ignorieren
- 21. Unerwartete Ergebnisse beim Anzeigen von ASCII-Codes in C++
- 22. Fehler beim Ausführen des Codes
- 23. Anzeige von Text unterhalb des von ggplot2 generierten Plots
- 24. Vergleichen von generierten ausführbaren Dateien für Äquivalenz
- 25. Maximale Länge des generierten Hash bei Verwendung von password_hash?
- 26. Auswerten der Genauigkeit des generierten XML-Schemas
- 27. Ausführen des gleichen Codes für get (self) als post (self)
- 28. LoC (Zeilen des Codes) Metriken für .NET 2.0 C# Projekte
- 29. Ersetzen Sie nutzlose Teile des Codes
- 30. Pluralform des generierten Modells in Schienen ändern?
Kann ich fragen, warum Sie das wollen? –
Soitanly. Ich konnte etwas aus der Anzeige dieses Codes lernen. – cfischer
In Verbindung stehend: http://Stackoverflow.com/a/589348/412916 http://Stackoverflow.com/questions/917884/ http://cocoaithloth.com/2009/10/memory-and-thread-safe-custom- property.html – Jano