Soy parte de un equipo que desarrolla una aplicación para iPad bastante grande y, como resultado, hemos creado muchas clases diferentes. El problema es que algunos de los métodos ahora son bastante obsoletos y no quiero simplemente eliminarlos todavía, ya que sé que algunas partes del sistema general usan los métodos ... pero hay mejores variantes (más nuevas) disponibles que deberían usarse en cambio (algunos de los antiguos en realidad llaman a los nuevos, pero la interfaz de clase general se está volviendo desordenada).
¿Hay alguna manera de marcar ciertos métodos como depreciados (como @deprecated
en Java y [Obsolete]
en .NET)?
Veo que Apple usa Availability.h y tiene etiquetas como
__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
... ¿es esta la única forma de hacerlo (+ ¿es seguro hacer esto en App Store?) o existen alternativas que marcarán una advertencia en Xcode?
fuente
__attribute__
sintaxis.#define __deprecated__ __attribute__((deprecated))
En mi humilde opinión, es más fácil escribir __deprecated:
Funciona también en clases.
fuente
DEPRECATED_ATTRIBUTE
? ¿Solo porque es más corto o hay alguna diferencia real?Si desea dar un mensaje adicional con el indicador de desuso, puede usar los siguientes indicadores.
Usando los indicadores mencionados anteriormente, puede decir por qué está despreciando o cuál es el método que el desarrollador debe usar en el futuro.
fuente
Para marcar un método como obsoleto, use __attribute __ ((obsoleto ("Su mensaje va aquí")))
Un ejemplo práctico, de Mantle
fuente
Usa el
deprecated
atributo:fuente