에 내가 루프, 루프 내부 그래서 그래 비동기 작업 ...completionhandler 루프
그게 내가 DispatchGroups()
포함 된 이유에 대한 내부 completionhandler를 실행하고 대한 :
for fileName in fileNames {
group.enter()
let url = URL(fileURLWithPath: "\(self.documentsUrl.path)/\(fileName)")
let ref = storage.reference().child("pathTo/\(fileName)")
let _ = ref.putFile(from: url, metadata: nil) { metadata, error in
print("completed")
if let error = error {
print("error")
} else {
print("success")
}
self.removeFile()
group.leave()
}
}
group.notify(queue: .main, execute: {
print("finished")
})
음을의 filepath가 존재하지만, 콘솔에는 아무 것도 인쇄되지 않지만 각 비동기 작업이 완료된 후에 알림을 받아야합니다. 아무도 이걸 도와 줄 수 없나요?
group.enter 대신 DispatchQueue.main.async {} 메소드에 코드를 모두 입력하면 어떻게됩니까? –
중단 점을 넣고 인쇄 내용을 확인하십시오. btw "completed"가 인쇄 중이십니까? –
안녕하세요, DispatchQueue.main.async {}가 포함되어 있으며 콘솔에 인쇄가 없습니다 .. 아무에게도 콜백 작동 방법을 안내해 드릴 수 있으므로 성공/오류 이벤트에 반응 할 수 있습니까? –