ใน Swift วิธีการเรียกใช้เมธอดพร้อมพารามิเตอร์ในเธรดหลักของ GCD หรือไม่
ในแอพของฉันฉันมีฟังก์ชั่นที่ทำให้ NSRURLS เลือกและส่ง NSURLRequest โดยใช้ sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error) ในบล็อกการทำให้เสร็จสมบูรณ์สำหรับงานนี้ฉันต้องทำการคำนวณบางอย่างที่เพิ่ม UIImage ไปยังตัวเรียก viewcontroller ฉันมีสิ่งที่เรียกว่า func func displayQRCode(receiveAddr, withAmountInBTC:amountBTC) นั่นคือการคำนวณการเพิ่ม UIImage ถ้าฉันพยายามเรียกใช้โค้ดเพิ่มการดูภายในบล็อกเสร็จสมบูรณ์ Xcode จะมีข้อผิดพลาดแจ้งว่าฉันไม่สามารถใช้เลย์เอาต์เอ็นจิ้นในขณะที่อยู่ในกระบวนการพื้นหลัง ดังนั้นฉันพบรหัสบางส่วนใน SO ที่พยายามจัดคิววิธีในเธรดหลัก: let time = dispatch_time(DISPATCH_TIME_NOW, Int64(0.0 * Double(NSEC_PER_MSEC))) dispatch_after(time, dispatch_get_main_queue(), { let returned = UIApplication.sharedApplication().sendAction("displayQRCode:", to: self.delegate, from: self, forEvent: nil) }) อย่างไรก็ตามฉันไม่ทราบวิธีการเพิ่มพารามิเตอร์ "receiveAddr" …