Je fais partie d'une équipe développant une application iPad assez volumineuse et nous avons créé de nombreuses classes différentes. Le problème est que certaines des méthodes sont maintenant à peu près obsolètes et je ne veux pas simplement les supprimer, car je sais que certaines parties du système global utilisent les méthodes ... mais il existe de meilleures variantes (plus récentes) disponibles qui devraient être utilisées à la place (certains des anciens appellent en fait les nouveaux, mais l'interface de classe globale devient désordonnée).
Existe-t-il un moyen de marquer certaines méthodes comme dépréciées (comme @deprecated
en Java et [Obsolete]
en .NET).
Je vois qu'Apple utilise Availability.h et a des balises telles que
__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_3_0);
... est-ce la seule façon de le faire (+ est-ce que l'App Store est sûr de le faire?) ou existe-t-il des alternatives qui signaleront un avertissement dans Xcode?
la source
__attribute__
syntaxe.#define __deprecated__ __attribute__((deprecated))
À mon humble avis, il est plus facile d'écrire __deprecated:
Fonctionne aussi sur les classes
la source
DEPRECATED_ATTRIBUTE
? Juste parce que c'est plus court ou qu'il y a une différence réelle?Si vous souhaitez donner un message supplémentaire avec l'indicateur d'obsolescence, vous pouvez utiliser les indicateurs suivants.
En utilisant les indicateurs mentionnés ci-dessus, vous pouvez dire pourquoi vous vous désapprouvez ou quelle méthode le développeur devrait utiliser à l'avenir.
la source
Pour marquer une méthode comme obsolète, utilisez __attribute __ ((deprecated ("Your message going here")))
Un exemple pratique, de Mantle
la source
Utilisez l'
deprecated
attribut:la source