난 항상 "init(data: Data)
는"NSXMLParser contentsOfURL 대 데이터
let url = URL(string: urlString)
let data = NSData(contentsOf: url!)
let parser = XMLParser(data: data as! Data)
내가 문서를 읽고 "init?(contentsOf: URL)
는"
let url = URL(string: urlString)
let parser = XMLParser(contentsOf: url!)
질문은 다음이 방법을 참조 사용한 서버에서 XML 파일을 구문 분석 불필요하게 URL 내용에서 데이터 객체로 변환하고 있으며 URL에서 초기화 할 수 있습니까? 아니면 데이터 객체를 만들고 그로부터 파싱 할 때 어떤 이점이 있습니까?
설명해 주셔서 감사합니다. 백그라운드 스레드에서 전체 함수를 호출하므로 어쨌든 현재 스레드를 차단하지 않습니다. – RyanTCB
아니요, 백그라운드 스레드를 차단하고 있습니다. 백그라운드 스레드가 _current 스레드 _ 일 수도 있습니다. 이것은 좋은 해결책이 아닙니다. NSURLSession과 비동기 요청을 사용하는 것은 그리 어렵지 않습니다. 비동기 요청은 runloop에 의해 실행되며 스레드를 차단하지 않습니다. – clemens
오 와우 감사합니다. NSURLSession을 사용합니다. – RyanTCB