Dans l'objectif C, une catégorie ne sera "utilisée" dans une classe que si je l'ai importée. Donc, si j'ai une catégorie NSString+category
, je dois #import NSString+category.h
dans chaque classe que je veux l'utiliser.Exclure la catégorie Objective C de certaines classes Swift
J'ai une telle catégorie, et certaines des classes que je veux l'utiliser sont écrites dans Swift. Si j'expose cette catégorie à Swift en la plaçant dans l'en-tête Bridging, toutes les classes swift l'utiliseront. Comment cela peut-il être évité?
Remarque: Ma catégorie est actuellement sur UIViewController
et le code que j'ai mis là doit seulement être utilisé par QUELQUES ViewControllers. Il semble erroné et inutile d'utiliser cette catégorie sur les "autres" ViewControllers.
"Dans l'objectif C, une catégorie ne sera" utilisée "dans une classe que si je l'ai importée." Ce n'est pas vrai. les méthodes de la catégorie sont toujours présentes sur la classe. L'en-tête fournit seulement _visibility_: vous obtiendrez une erreur de compilation si vous essayez de les appeler sans l'importation. –
Aha. Ma faute. Je suppose que cela répond efficacement à ma question. – Joakim
Pouvez-vous montrer le code? J'ai également créé un tutoriel complet pour utiliser Swift et Objective-c ensemble. http://stackoverflow.com/a/40887287/4488252 –