I use swift 3 & xcode8
My code is below
[A]
DispatchQueue(label: "background").async {
autoreleasepool {
*DB UPDATE CODE HERE
}
OperationQueue.main.addOperation {
self.uiUpdate() <-- data query & UI update code
self.ResultTable.reloadData() <-- tableview reload
}
}
[B]
DispatchQueue(label: "background").async {
autoreleasepool {
*DB UPDATE CODE HERE
}
DispatchQueue.main.async {
self.uiUpdate() <-- [C] some data query & UI update code
self.ResultTable.reloadData() <-- [D]tableview reload
}
}
[A] code is works very well.
but [B] is something wrong
if i execute [B] 5 times
C is works good but sometimes UI is not updated
I heard that OperationQueue.main.addOperation and DispatchQueue.main.async
is same but works differently
I dont understand ,,Diffrence A and B