你这里有两个问题。首先,你的updateBlock是不合适的,因为它假设所有数据都将在一次调用中出现。仔细查看文档 fetchData ()
请注意updateBlock的定义:“阻止接收文件数据。它将被多次调用,每次都将返回自上次调用以来收到的数据。”
所以你的updateBlock需要做这样的事情:
imageData.append(data) if isComplete { image = UIImage(data: imageData) // handle image as desired }
第二个问题是您要求同时异步下载所有文件。您需要一次只下载一个文件,并且只在前一个文件完成后才开始下一个文件。例如:
imageData.append(data) if isComplete { image = UIImage(data: imageData) // handle image as desired // then, initiate next download downloadFilesFromDrone() }