나는 뭔가 어려움을 겪고 있으며 올바른 방향으로 나를 지적 할 수 있는지 물어보고 싶습니다.다른 작업을 차례로 수행
내가 완료하고 싶은 네 가지 작업이 있습니다.
- 이 코드를 구문 분석
- 웹 에서 HTML 코드 가져 오기 및 일정
- 에 저장 핵심 데이터 저장
- 사용이 데이터 및 배치에 저장 내 자신의 웹 서버에 분석 데이터를 업로드합니다.
나는이 코드를 모두 작성 했으므로 잘 실행됩니다. 그러나 때로는 다른 코드가 끝나기 전에 일부 코드가 실행되기 때문에 어려움을 겪습니다.
예 :
func startProcess() {
fetchHTMLFromWeb()
parseHTML()
saveToCalendar()
//Sometimes uploadToWeb() starts before saveToCalendar() is finished
uploadToWeb()
}
내가 GCD에 독서 시도하지만 다소 복잡한 주제이며, 나는 그것이 하드를 파악하기 위해 찾는입니다.
이 주제에 대한 유용한 정보를 추천 해 줄 수 있습니까?
대단히 감사합니다!
무엇이 문제인가? html 코드를 가져 오면 데이터를 가져온 파서를 호출하면됩니다. 작동하지 않습니까? – LastMove
그게 내가 달성하고 싶은 것이지만 어떻게하면 다음 코드가 이전 코드가 완료 될 때만 실행될 수 있도록 만들 수 있습니까? 나는 콜백 함수가 갈 길이라고 생각하고있다. 그러나 그것은 나에게 알려지지 않은 영역이다. – fisher
fetchHTMLFromWeb() 함수에서 parseHTML()을 호출하지 않는 이유는 무엇입니까? 백그라운드 스레드에서 startProcess를 호출 하시겠습니까? – LastMove