iOS Swift:代码执行/异步执行的顺序

时间:2018-01-28 22:36:29

标签: ios swift asynchronous

如果我在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()

1 个答案:

答案 0 :(得分:2)

是的,您可以确定您的代码将按顺序1,2,3,4运行。

您发布的代码中的每一步都是同步执行的。它完成整个for循环,然后排序,然后分配到过滤属性,然后告诉表视图重新加载。

执行异步任务的函数也是如此记录的。通常这些函数使用完成处理程序,以便您可以在完成任务后调用代码。