Lors de l'analyse d'un fichier XML à partir d'un serveur, je l'ai toujours utilisé "init(data: Data)
"NSXMLParser contentsOfURL Vs données
let url = URL(string: urlString)
let data = NSData(contentsOf: url!)
let parser = XMLParser(data: data as! Data)
J'ai lu la documentation et de voir cette méthode "init?(contentsOf: URL)
"
let url = URL(string: urlString)
let parser = XMLParser(contentsOf: url!)
Question est alors Suis-je en train de convertir inutilement un objet de données à partir du contenu de l'URL, et je peux tout aussi bien initialiser à partir de l'URL? Ou, y a-t-il un quelconque mérite à créer l'objet de données et à l'analyser à partir de cela?
Merci pour l'explication. J'appelle l'ensemble de la fonction sur un thread d'arrière-plan afin de ne pas bloquer le thread actuel de toute façon. – RyanTCB
Non, vous bloquez le thread d'arrière-plan. Un thread d'arrière-plan peut aussi être votre thread_current. Ce n'est pas une bonne solution. L'utilisation de requêtes NSURLSession et asynchrones n'est pas très difficile. Les requêtes asynchrones sont exécutées par la boucle de lancement et elles ne bloqueront aucun thread. – clemens
Oh ouah merci. Je vais utiliser NSURLSession alors. – RyanTCB