Ich bin Teil eines Teams, das eine ziemlich große iPad-App entwickelt, und als Ergebnis haben wir viele verschiedene Klassen erstellt. Das Problem ist, dass einige der Methoden mittlerweile ziemlich veraltet sind und ich sie noch nicht einfach entfernen möchte, da ich weiß, dass einige Teile des Gesamtsystems die Methoden verwenden ... aber es gibt bessere (neuere) Varianten, die verwendet werden sollten stattdessen (einige der alten nennen tatsächlich die neuen, aber die gesamte Klassenschnittstelle wird chaotisch).
Gibt es eine Möglichkeit, bestimmte Methoden als veraltet zu markieren (wie @deprecated
in Java und [Obsolete]
in .NET)?
Ich sehe, dass Apple Availability.h verwendet und Tags wie hat
__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
... ist dies der einzige Weg, dies zu tun (+ ist es im App Store sicher, dies zu tun?) oder gibt es Alternativen, die eine Warnung in Xcode markieren?
quelle
__attribute__
Syntax bei.#define __deprecated__ __attribute__((deprecated))
IMHO ist es einfacher, __deprecated zu schreiben:
Funktioniert auch im Unterricht
quelle
DEPRECATED_ATTRIBUTE
? Nur weil es kürzer ist oder es einen tatsächlichen Unterschied gibt?Wenn Sie eine zusätzliche Nachricht mit dem Verfallsflag senden möchten, können Sie die folgenden Flags verwenden.
Anhand der oben genannten Flags können Sie erkennen, warum Sie veraltet sind oder welche Methode der Entwickler in Zukunft verwenden sollte.
quelle
Verwenden Sie __attribute __ ((veraltet ("Ihre Nachricht geht hierher"))), um eine Methode als veraltet zu markieren.
Ein praktisches Beispiel von Mantle
quelle
Verwenden Sie das
deprecated
Attribut:quelle