Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при компиляции и запуске программы?
actor Counter {
var value = 0
func increment() {
value += 1
}
}
let counter = Counter()
counter.increment()
print(await counter.value)Не скомпилируется
- Ждать
1: вызывать метод актора как метод класса. Снаружи актора каждый вызов требуетawait, поэтому компилятор не пропуститcounter.increment(). - Ждать, что вызов выполнится позже и программа напечатает
0: вызов актора безawaitSwift не запускает, а отказывается компилировать.
- Что выведет программа, если записать вызов как
await counter.increment()? - Почему внутри актора
incrementменяетvalueбезawait?