Код: Выделить всё
@propertyWrapper
public class CurrentValue {
public var wrappedValue: Value {
get { projectedValue.value }
set { projectedValue.value = newValue }
}
public var projectedValue: CurrentValueSubject
public init(wrappedValue: Value) {
self.projectedValue = CurrentValueSubject(wrappedValue)
}
}
Код: Выделить всё
@CurrentValue
let test = 1
$test.sink { _ in
print(self.test)
}
Мой вопрос: есть ли какой-нибудь умный способ преодолеть это, продолжая использовать структуру? Я не хочу отправлять async.
Кроме того, я знаю, что @Projected работает аналогично этому propertyWrapper, но там это большая разница: Projected выполняется на willSet, а CurrentValueSubject на DidSet. И у Projected та же проблема.
Я знаю, что могу прочитать значение внутри замыкания, но иногда я использую это с различными вызовами функций, которые возможно, в конечном итоге вместо этого будет использовать self.test.
Подробнее здесь: https://stackoverflow.com/questions/608 ... management
Мобильная версия