In derselben Datei wollen wir Code schreiben, der ARC und nicht-ARC unterstützt. Dafür ist ein Makro erforderlich.
%Vor%Wie erreiche ich dieses Makro, Gibt es irgendeine Art von Makro? Lass es mich wissen, bitte. Vielen Dank für die Unterstützung Hinweis: ARC_ENABLED Nur habe ich zum Beispiel
geschrieben Es gibt ein objektiver C-Makro __has_feature
, mit dem Sie überprüfen können, ob der Bogen für nicht aktiviert ist.
Von der Clang-Spracherweiterungsdokumentation
Automatische Referenzzählung
Clang unterstützt die automatische Referenzzählung in Objective-C, wodurch die Notwendigkeit für manuelle entfällt Retain / Release / Autorelease Nachricht sendet. Es gibt zwei Feature-Makros mit automatischer Referenzzählung verbunden:
__has_feature(objc_arc)
zeigt die Verfügbarkeit von automatisiert an Referenzzählung im Allgemeinen, während__has_feature(objc_arc_weak)
zeigt an, dass das automatisierte Referenzzählen auch Unterstützung für__weak
Zeiger auf Objective-C Objekte.
Der Abschnitt Makros zum Überprüfen von Funktionen ist ein sehr guter Lesevorgang.
Sie können es so benutzen ..
%Vor%Der Code-Teil wurde schamlos aus dieser Antwort .
Im Folgenden wird USING_ARC
, USING_MRC
& amp; USING_GC
ist 0 oder 1, zusammen mit ein paar Plausibilitätsprüfungen:
Platzieren Sie das in einem geeigneten .h, das in Ihrem Projekt enthalten ist .pch
Sie können jetzt #if USING_x
verwenden, um die bedingte Kompilierung überall zu steuern.
Sie können auch einige Dateien vom Kompilieren unter bestimmten Speichermodellen ausschließen, indem Sie zum Beispiel am Anfang der Datei einfügen:
%Vor%Tags und Links objective-c ios cocoa xcode4