J'ai un fichier de constante commune qui aura toutes mes macros de l'objectif C, pour accéder à mon objectif c macros dans la classe rapide I ont prévu de mettre en œuvre la façon suggérée dans le article suivant.Comment rendre ma méthode de classe Objective C visible uniquement pour les classes Swift
Way To Access Objective C macros In Swift
En gros, ce qui a suggéré est de créer .h & fichier .m et ajouter des méthodes publiques qui renvoient la macro que nous voulons avoir accès too.Eg
J'ai une macro objectif C pour obtenir la couleur personnalisée
#define THEME_COLOR [UIColor colorWithRed:115.0/255.0 green:190.0/255.0 blue:123.0/255.0 alpha:1.0f] // this macro is not accessible inside swift class
Je suis en train de créer une méthode comme suit
+ (UIColor *) themeColor {
return THEME_COLOR;
}
Maintenant dans ma classe rapide, je suis capable d'accéder à cette méthode. Puisque la méthode ci-dessus est déclarée dans une classe globale, toutes mes classes C de l'objectif accèdent également à cette méthode. Je veux donner accès à cette méthode seulement si on y accède à partir de classes rapides est-il possible de le faire? Ou toute autre meilleure approche disponible?
Toute suggestion ou aide grandement appréciée. Merci à l'avance
Votre réponse a fait l'affaire! Merci, @ Rob Napier. Je travaille sur le projet déjà développé et il a plusieurs macros, la conversion de tout ce qui est en cours serait un travail de longue haleine. Plusieurs personnes travaillent dans cette base de code, donc sans restriction, cela rendrait le code maladroit au cours de la période –