如果我在swift中运行以下代码,则步骤1.,2.,3。和4.总是按此顺序执行(因为它们应该),或者如果循环,则存在异步执行的风险,排序等比预期的要长?
// 1.
for i in self.filtered{
for j in i.calls {
var jj = j
jj.uid = i.uid
self.CallList.append(jj)
}
}
// 2.
self.CallList.sort { $0.priceHist > $1.priceHist }
// 3.
self.filtered = self.CallList
// 4.
self.tableView.reloadData()
答案 0 :(得分:2)
是的,您可以确定您的代码将按顺序1,2,3,4运行。
您发布的代码中的每一步都是同步执行的。它完成整个for循环,然后排序,然后分配到过滤属性,然后告诉表视图重新加载。
执行异步任务的函数也是如此记录的。通常这些函数使用完成处理程序,以便您可以在完成任务后调用代码。