Я только начал читать swift, и в настоящее время я не понимаю, как правильно использовать многопоточность.
То, что я пытаюсь достичь в следующем блоке кода, - это выполнить операторы печати внутри диспетчеры, но я хочу сделать это по порядку. Проблема, которая у меня есть, состоит в том, что, конечно, я хочу сделать это в фоновом потоке, а не в главном, поскольку это длинная задача, и в то же время выполнить ее по порядку, пока я даю задержку в выполнении. Текущий блок выполняет все случаи вместе.
Я также взглянул на Таймер и Семафоры, но безрезультатно.
Любая помощь или объяснение того, что я делаю неправильно или что я должен подойти будет оценено.
let formattedSeries = ["a", "a", "b"]
let dispatchQueue = DispatchQueue(label: "taskQueue")
let a = 1000
let b = 5000
for (index, letter) in (formattedSeries.enumerated()){
switch letter {
case "a":
dispatchQueue.asyncAfter(deadline: .now() + .milliseconds(a), execute: {
print("a executed")
})
break
case "b":
dispatchQueue.asyncAfter(deadline: .now() + .milliseconds(b), execute: {
print("b executed")
})
break
default:
print("default")
}
}