Ios swift中的同步周期

Ios swift中的同步周期,ios,swift,thread-safety,Ios,Swift,Thread Safety,在传统文献的基础上,通过网络进行数字化测试。 我是斯威夫特的新手。我无法同步两个周期的工作,然后显示结果 例如: // Step1: do the first cycle. for value0 in list0{ doStuff() } // Step1: do the second cycle. for value1 in list1{ doStuff() } // Show result. showResult() 我尝试过这样做: let lockQueue =

在传统文献的基础上,通过网络进行数字化测试。 我是斯威夫特的新手。我无法同步两个周期的工作,然后显示结果

例如:

// Step1: do the first cycle.
for value0 in list0{
    doStuff()
}

// Step1: do the second cycle.
for value1 in list1{
    doStuff()
}

// Show result.

showResult()
我尝试过这样做:

let lockQueue = dispatch_queue_create("com.test.LockQueue", nil)
dispatch_sync(lockQueue) {
    // Step1: do the first cycle.
    for value0 in list0{
       doStuff()
    }

    // Step1: do the second cycle.
    for value1 in list1 {
       doStuff()
    }

    // Show result.
}
showResult()

它工作并编译,但不同步两个代码的工作。事实上,结果并不完整。

很难理解你在问什么。您提供的源代码将按顺序执行;与
list0
相关的所有
doStuff
调用将发生在与
list1
相关的所有
doStuff
调用之前。您的
doStuff
方法是否将内容推送到后台队列?解释:我正在创建一个.txt文件,在其中写入内容。首先,我必须在列表1中写入内容,只有当他完成时,我才必须在列表2中写入内容,并且只有当完成时才会显示结果。除非您的
doStuff
正在将内容推送到不同的线程/调度队列,否则您编写的代码将执行此操作。如果看不到
doStuff
的内容,就不清楚为什么您编写的代码没有按照您想要的方式运行。