Почему SwiftUI реагирует на willSet в опубликованном

#swift #swiftui #combine

#swift #swiftui #объединить

Вопрос:

Мне было интересно, почему эта Published оболочка свойства срабатывает в willSet , а не в didSet . Для пользовательского интерфейса это, вероятно, не имеет значения, но для многих других мест оболочка свойств, которая реагирует на didSet , имела бы больше смысла, потому что мы можем считывать новое значение при реагировании на изменение. Раньше я работал с пользовательским, property wrapper который переносит CurrentValueSubject , а затем у меня такое поведение. Просто интересно, почему он разработан таким образом. Есть ли у него какой-то puropse?

Комментарии:

1. Я не понимаю вопроса — вы можете использовать обертки свойств didSet в @Published и использовать новое значение.

2. Когда я использую свойство sink on published для использования события, оно вызывается до присвоения нового значения, поэтому оно использует willSet . Я не говорю об использовании didSet самостоятельно. Мне просто интересно, почему новое событие combine send() вызывается в этой оболочке свойств в willSet, а не в didSet.

3. Посмотрите, поможет ли вам этот поток: forums.swift.org/t/is-this-a-bug-in-published/31292/28