completionhandler

    1熱度

    1回答

    我想在for循環中使用完成處理程序。問題在於它會在完成處理程序返回之前繼續運行循環,因爲它是異步調用。附件是我的代碼。我需要使用GCD嗎?我很新(很明顯)是swift/ios。任何意見將不勝感激。鮑勃 for srcTerm in sFields { //search using all search fields multiQuery (searchTerm: srcTerm) {

    0熱度

    1回答

    我的用例 - 我有從Firebase獲取的項目列表。下面是loadItems()函數,我打電話HomeViewController - viewDidLoad()和更新tableView與獲取的數據。 func loadItems() { Database.database().reference().child("items").observe(.value, with: { sna

    0熱度

    2回答

    我知道併發DispatchQueue允許其中的代碼立即返回,因此不會阻塞調用線程。這通常用於加載大量數據的後臺任務。 我還了解到完成處理程序(例如,在URLSession中)允許在某些任務完成後執行代碼內部處理程序。 我的問題是:這是否意味着併發調度隊列和完成處理程序有重疊的目的?如果我已經使用完成處理程序,那麼不需要用併發調度隊列來包裝它嗎? 例如,下面是一個使用URLSession的耗時數據加

    0熱度

    2回答

    我有兩個異步功能發送請求到我的服務器。 DispatchQueue.global(qos: .userInitiated).async { weak var weakself = self self.unregisterPushServer(token: token!) { [weak self] success in print("0") if suc

    0熱度

    1回答

    我創建了setAvatarImage函數來下載一個UIImage,然後它將在默認集合視圖函數中返回。我可以在控制檯看到UIImage正在下載,因此返回值應該是UIImage。但是,收集視圖中不顯示圖像。 func setAvatarImages(_ senderUid: String!, completionhandler: @escaping (UIImage!) -> Void) {

    0熱度

    2回答

    現在,我很迷惑firebase,觀察使用childAdded數據事件類型。我之所以使用childAdded來觀察我的firebase,是因爲我想讓我的列表頁面動態 firebase是否有新的數據插入。 而我的問題是如何知道觀察到達queryLimit時停止調用?因爲我有一個指標,我想在達到queryLimit時關閉它。 我的火力點以下結構: root { talkID1(id by au

    0熱度

    1回答

    我有一個activityfeedVC。如果用戶單擊一個tableViewCell,則會顯示一個activityVC。在這個VC中,我有一個「返回」按鈕。點擊時,我想返回到前一個視圖控制器。我能夠實現這一點,但我無法顯示tabBarController。我使用完成處理程序,但有些錯誤。希望你能幫助。 import UIKit class activityVC: UIViewController

    1熱度

    2回答

    我使用DispatchGroup.enter()和leave()來處理助手類的reverseG異步函數。問題很明顯,我使用mainViewController的對象在助手類中調用mainViewControllers的dispatchGroup.leave()!有沒有辦法做到這一點? 當在主視圖控制器中聲明reverseG時,相同的代碼有效。從主視圖控制器 dispatchGroup.enter(

    0熱度

    3回答

    我有一個在視圖上執行動畫的函數。我想爲這個函數實現一個完成處理程序,它將在動畫完成後調用。 在視圖控制器... hudView.hide(animated: true, myCompletionHandler: { // Animation is complete }) 在HudView類... func hide(animated: Bool, myCompletionHandl

    1熱度

    2回答

    我試圖寫在斯威夫特完成處理功能,這是我在斯威夫特代碼名爲NBObject typealias CompletionHandler = (_ success: Bool, _ data: [String:Any]) -> Void // FIND OBJECTS IN BACKGROUND func findObjectInBackground(completionHandler: Compl