最佳答案
在使用了 AlamoFire 框架之后,我注意到 CompletionHandler 是在主线程上运行的。我想知道下面的代码是否是在完成处理程序中创建核心数据导入任务的良好实践:
Alamofire.request(.GET, "http://myWebSite.example", parameters: parameters)
.responseJSON(options: .MutableContainers) { (_, _, JSON, error) -> Void in
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in
if let err = error{
println("Error:\(error)")
return;
}
if let jsonArray = JSON as? [NSArray]{
let importer = CDImporter(incomingArray: jsonArray entity: "Artist", map: artistEntityMap);
}
});
}