grand-central-dispatch

    0热度

    1回答

    我目前有一个数组迭代通过价值图像路径,并希望异步检索这些图像在for循环内的第一个。我试过使用两个分派组,但完成处理程序总是在检索图像之前返回。 static func getAllEntriesWithDisplayModel(completion: @escaping (_ models: [EntryDisplayModel]) ->()) ->(){ let entries =

    1热度

    1回答

    我正在使用以下函数获取metadataObject并将其发布到服务器。 func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [Any]!, from connection: AVCaptureConnection!) 现在我想一个定时器(计数器),因此当用

    0热度

    2回答

    我知道并发DispatchQueue允许其中的代码立即返回,因此不会阻塞调用线程。这通常用于加载大量数据的后台任务。 我还了解到完成处理程序(例如,在URLSession中)允许在某些任务完成后执行代码内部处理程序。 我的问题是:这是否意味着并发调度队列和完成处理程序有重叠的目的?如果我已经使用完成处理程序,那么不需要用并发调度队列来包装它吗? 例如,下面是一个使用URLSession的耗时数据加

    1热度

    2回答

    我有一个应用程序从API下载JSON数据并将其设置在tableview单元格中。在随机向上/向下滚动细胞图像的某个时候,在它有一个正确的图像之前,它可能会自行改变几次。没有任何问题的文本数据。起初我认为问题是细胞的可重用性,所以我需要在实际设置新图像之前销毁数据。所以我加了TableViewCell的这种方法cellForRowAt路径设置单元格之前销毁数据: func destroyCellDa

    0热度

    1回答

    我有MapController与GMSMapView,我需要在这张地图上显示一些GMSMarkers的数量。我希望用户可以与地图进行交互而不会有任何延迟,但问题在于我的标记的图标视图。首先,他们必须下载后,我需要做一些图形计算,以获得实际的iconView。 所以问题是如何下载和获取下载的图像iconViews没有阻止主线程?

    0热度

    2回答

    我的目标是异步执行资源占用较大的操作,并确保在返回对象之前它已完成。 这是结构: func modifyGadgets() -> [Gadget] { var gadgetsToModify = [Gadget]() //this is already populated elsewhere DispatchQueue.global(qos: .userInitiated)

    0热度

    1回答

    在早期版本的Swift中,此代码完美工作。 DispatchQueue.main.asyncAfter(deadline: .now() + delay) { timer in self.setOriginalState() self.shakeAnimation() } 但是在斯威夫特4出现以下错误: 暧昧参考成员 'asyncAfter(截止日期:服务质量:标志:执行

    2热度

    1回答

    该函数初始化GMSMarkers: func makeMarkers (progressHandler: ((String) -> Void)? = nil) { progressHandler?("Инициализируем маркеры...") for device in self.devices { progressHandler?("Инициализ

    -2热度

    1回答

    我尝试在后台上传音频/视频,因为我可以在上传发生在后台时使用应用程序。但是,每当我开始上传,应用程序挂起并停止响应,直到我得到API的响应。

    3热度

    1回答

    我想使用dispatch IO channel从文件描述符中读取一些数据。创建通道后,下一步是调用read,其申报如下: func read(offset: off_t, length: Int, queue: DispatchQueue, ioHandler: @escaping (Bool, DispatchData?, Int32) -> Void) 为length