Вы, вероятно, должны пересмотреть свой подход. Что именно вы хотите, чтобы произошло? У вас есть какой-то внешний тип модели данных, который извлекает (или обновляет) данные, и вы хотите, чтобы ваши представления реагировали на это? Если это так, создайте ObservableObject
и передайте его своему CustomClass
.
struct CustomClass: View {
@ObservedObject var model: Model
var body: some View {
// base your view on your observed-object
}
}
Возможно, вы хотите получать уведомления о событиях, происходящих из CustomClass
?
struct CustomClass: View {
var onButtonPress: () -> Void = { }
var body: some View {
Button("Press me") { self.onButtonPress() }
}
}
struct ParentView: View {
var body: some View {
CustomClass(onButtonPress: { /* react to the press here */ })
}
}
Наконец, если вы действительно хотите, чтобы в ваших представлениях был какой-то tag
, вы можете использовать систему Preferences
в SwiftUI. Это более сложная тема, поэтому я просто укажу на полезный ресурс, который я нашел здесь: https://swiftui -lab.com / communication-with-the-view-tree-part-1 /