Я намагаюся створити спеціальну обгортку властивостей, підтримувану SwiftUI, тобто зміна відповідних значень властивостей призведе до оновлення подання SwiftUI. Ось спрощена версія того, що я маю:
@propertyWrapper
public struct Foo: DynamicProperty {
@ObservedObject var observed: SomeObservedObject
public var wrappedValue: [SomeValue] {
return observed.value
}
}
Я бачу, що навіть якщо мій ObservedObject
міститься в моїй спеціальній обгортці власності, SwiftUI все ще вловлює зміни до SomeObservedObject
тих пір, як:
- Моя обгортка власності - це структура
- Моя обгортка власності відповідає
DynamicProperty
На жаль, документи є рідкісними, і мені важко сказати, чи це працює лише від удачі з поточною реалізацією SwiftUI.
Документи DynamicProperty
(в межах Xcode, не в Інтернеті), схоже, вказують на те, що така властивість є властивістю, яка змінюється ззовні, викликаючи перегляд зображення, але немає гарантії того, що станеться, коли ви відповідаєте власним типам цього протоколу.
Чи можу я очікувати, що це продовжить працювати в майбутніх випусках SwiftUI?