Wie kann ich die markieren-Funktion als deprecated in einer iOS-Objective-C header-Datei?
Wie kann ich die markieren-Funktion als deprecated in einer iOS-Objective-C header-Datei?
Ich vermute, es gibt nur einige Stichwörter, die ich bleiben kann nach der Funktion irgendwo?
Möchte ich für eine compiler-Warnung generiert werden, sollte jemand versuchen, und verwenden Sie die Funktion veraltet, ähnlich wie das Verhalten gesehen in apples APIs.
- Hey gs - guten Kommentar. Ich dachte eigentlich das gerade jetzt!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, ein Attribut, das Ihre Methode Erklärung:
Entnommen hier.
__deprecated
um eine Methode Erklärung funktioniert auch, und ich habe keine Ahnung, warum. Danke für die Anregung, @ArtFeel - haben Sie zufällig wissen, wo das definiert ist?#define
dem Attribut.Tim ' s Antwort tatsächlich produzieren eine compiler-Warnung; die anderen Versionen sind nur Kommentare, die keine Wirkung w.r.t. die compiler.
Wenn man sich in /usr/include/AvailabilityMacros.h, Sie werden sehen, wie Apple dies tut. Dieser header verwendet
__attribute__((deprecated))
und__attribute__((unavailable))
je nachdem, ob die API ist vorhanden, aber veraltet, oder wurde tatsächlich entfernt vom OS.Statt
__attribute__((deprecated))
, die Sie verwenden können, verwenden Sie die Makros definiert, die in<cdefs.h>
:Oder Sie können die Makros definiert, die in
<AvailabilityMacros.h>
:Wenn Sie mit Objective-C, macht es keinen Unterschied, wie Sie gehen, um mit einem modernen compiler, so dass Sie gehen können für Apple-kurze syntax
__deprecated_msg()
. Aber wenn Sie C für cross-Plattform -, dannDEPRECATED_MSG_ATTRIBUTE()
verwendet die optimale Verfügbarkeit Definitionen (zum Beispiel, es unterstützt GCC3.1).Vom Apple SFAuthorization.h:
Wenn Sie nicht über eine automatisierte Dokumentation builder ich würde sagen, so etwas ist genug:
Könnte man auch Folgen der HeaderDoc Handbuch. Wo diese syntax wird verwendet: