J'ai du code qui récupère un fichier XML à partir d'une URL, puis l'analyse en utilisant NSXMLParser. Actuellement, ce code est contenu dans viewController qui l'appelle. Je souhaite, pour des raisons de réutilisation, déplacer le code d'analyse vers une classe externe et l'appeler depuis viewController.Comment appeler une méthode d'une classe importée dans Objective C?
J'ai essayé d'y parvenir comme suit:
créé un fichier de classe vide NSObject, mettre le code d'analyse syntaxique dans les fichiers .h .m, puis utilisé une déclaration #import
dans mon fichier viewController.m et un @Class
instruction dans le fichier viewController.h afin que je puisse appeler les méthodes à partir de la classe viewController.
Je ne suis pas sûr de savoir comment procéder ou si je suis approche de ce mal, s'il vous plaît conseiller.
J'instancier la classe externe avec la ligne suivante dans le @interface
de mon viewController
XMLParser *xmlParser;
En viewDidLoad pour ma classe viewController j'appelle une méthode que je l'ai écrit dans XMLParser.m. L'appel se fait comme suit:
[xmlParser fetchXML];
Le problème est que quand je compile je reçois l'avertissement suivant:
'XMLParser' may not respond to '-fetchXML'
Lorsque la vue des charges lors de l'exécution de la méthode n'est pas appelé, ou il est appelé mais ne fonctionne pas
Le code est-il placé dans une méthode de classe (commence par un +) ou une méthode d'instance (commence par un -)? Comment appelez-vous la méthode? Que se passe-t-il lorsque vous compilez et que se passe-t-il quand il s'exécute? – andyvn22
On dirait que tout est correct. Quel est le problème? –
@Rob Napier @ andyvn22 Voir la question mise à jour, merci les gars – conorgriffin