Ошибка параллелизма Swift 6 при передаче закрытия отправкиIOS

Программируем под IOS
Anonymous
Ошибка параллелизма Swift 6 при передаче закрытия отправки

Сообщение Anonymous »

Я получаю эту ошибку в нескольких местах моего кода при закрытии задачи после установки Swift 6 в качестве языковой версии в XCode.
Passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
Ниже приведен минимально воспроизводимый пример кода.
import Foundation

final class Recorder {

var writer = Writer()

func startRecording() {
Task {
await writer.startRecording()
print("started recording")
}
}

func stopRecording() {
Task {
await writer.stopRecording()
print("stopped recording")
}
}
}

actor Writer {
var isRecording = false

func startRecording() {
isRecording = true
}

func stopRecording() {
isRecording = false
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-closure

Вернуться в «IOS»