Ошибка параллелизма 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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