ในแอพของฉันฉันมีฟังก์ชั่นที่ทำให้ 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" และ "amountBTC" ในการเรียกใช้ฟังก์ชันนี้ ฉันจะทำสิ่งนี้หรือใครบางคนสามารถแนะนำวิธีที่ดีที่สุดสำหรับการเพิ่มวิธีการโทรไปยังคิวหลักของแอปพลิเคชัน?