func authenticate(completion:(success: Bool) -> Void) {
let qos = Int(QOS_CLASS_USER_INITIATED.value)
dispatch_async(dispatch_get_global_queue(qos, 0)){() -> Void in
Alamofire.request(.POST, CONSTANTS.Domain+"/accounts", parameters: ["" : ""]).responseJSON { (req, res, json, error) in
dispatch_async(dispatch_get_main_queue()){
completion(success: true)
}
}
}
}
Oppure, posso omettere l'invio e mantenere semplicemente il mio codice semplice?Devo avvolgere le mie chiamate Alamofire all'interno di dispatch_async?
Per inciso, quando hai bisogno di una coda globale, non devi ottenere il valore per il qos e quindi creare 'Int' da quello. C'è una versione di 'dispatch_get_global_queue' che prende direttamente il parametro' qos_class_t'. In questo caso è discutibile, poiché le soluzioni basate su NSURLSession non devono essere inviate al thread in background, ma solo per riferimento futuro. – Rob