Trong ứng dụng của mình, tôi có một chức năng tạo NSRURLSession và gửi NSURLRequest bằng cách sử dụng
sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error)
Trong khối hoàn thành cho nhiệm vụ này, tôi cần thực hiện một số tính toán có thêm UIImage vào trình điều khiển khung nhìn cuộc gọi. Tôi có một chức năng được gọi là
func displayQRCode(receiveAddr, withAmountInBTC:amountBTC)
đó là tính toán thêm UIImage. Nếu tôi cố chạy mã thêm chế độ xem bên trong khối hoàn thành, Xcode sẽ đưa ra lỗi nói rằng tôi không thể sử dụng công cụ bố trí trong khi đang xử lý nền. Vì vậy, tôi đã tìm thấy một số mã trên SO cố gắng xếp hàng một phương thức trên luồng chính:
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)
})
Tuy nhiên, tôi không biết cách thêm các tham số "receiveAddr" và "lượngBTC" vào lệnh gọi hàm này. Làm thế nào tôi có thể làm điều này hoặc ai đó có thể đề xuất một cách tối ưu để thêm một cuộc gọi phương thức vào hàng đợi chính của ứng dụng?