Код: Выделить всё
struct DarkConnectorLineAnchor: Equatable {
let anchor: Anchor
}
struct DarkStepPreferenceKey: PreferenceKey {
static var defaultValue = [DarkConnectorLineAnchor]()
static func reduce(
value: inout [DarkConnectorLineAnchor],
nextValue: () -> [DarkConnectorLineAnchor]
) {
value.append(contentsOf: nextValue())
}
}
Статическое свойство 'defaultValue' не является безопасным для параллелизма, поскольку оно представляет собой неизолированное глобальное общее изменяемое состояние; это ошибка в языковом режиме Swift 6.
Как это исправить? Я могу добавить главного актера к значению по умолчанию и добавить @preoncurrency, но не уверен, что это идеальное решение.
Обновление: пожалуйста, не закрывайте вопрос, здесь мы используем массив, аналогичный вопрос, который был помечен как дубликат, не использует массив. Обратите внимание, что именно массив отличает этот вопрос от вопроса, помеченного как дубликат.
Любая помощь или рекомендации приветствуются.
Подробнее здесь: https://stackoverflow.com/questions/793 ... rency-safe
Мобильная версия