У меня проблема со слайдером (копия из документации Apple https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit). Когда откройте лист и передайте ObservedObject к нему и вызовите функцию для результата обновления onAppear, слайд еще не работал, если я прокомментирую функцию self.networkManagerNewsWags.getNewsByWagsId (wagsId: 1), слайд работает нормально
PAGE : 1
struct TestView: View {
@ObservedObject var networkManagerNewsWags: NetworkManagerNewsWags
@State var showingDetail = false
var body: some View {
VStack {
Button(action: {
self.showingDetail.toggle()
}) {
Text("Show Detail")
}.sheet(isPresented: $showingDetail) {
Test1(["tazlowvvirzokkyudfeoyoxiikcrnvtxwgvptyomojlubczrta_wanda1.jpg", "ulwmgeqaiuexnijpglohbeienrvyrjtxkwkkyalgdhckntthdy_wanda2.jpg"].map { ImageCarouselWagsView(image: $0) }, wags: wagsData[5], networkManagerNewsWags: self.networkManagerNewsWags)
}
}
}
}
СТРАНИЦА ЛИСТА:
struct Test1 <Page: View>: View{
@ObservedObject var networkManagerNewsWags: NetworkManagerNewsWags
var viewControllers: [UIHostingController<Page>]
@State var currentPage = 0
var wags: Wags
init(_ views: [Page], wags: Wags, networkManagerNewsWags: NetworkManagerNewsWags) {
self.viewControllers = views.map { UIHostingController(rootView: $0) }
self.wags = wags
self.networkManagerNewsWags = networkManagerNewsWags
}
var body: some View {
ScrollView {
VStack {
VStack { //Sdlide with dot, copy from apple
PageViewControllerWagsDetail(controllers: self.viewControllers, currentPage: self.$currentPage)
PageControlWagsDetail(numberOfPages: viewControllers.count, currentPage: self.$currentPage) //COPY FROM APPLE
}.frame(height: 500)
VStack {
Text(self.networkManagerNewsWags.testString)
}
}
.onAppear {
self.networkManagerNewsWags.test()
}
}
}
}
СТРАНИЦА СЕТЕВОГО МЕНЕДЖЕРА:
Фонд импорта
class NetworkManagerNewsWags: ObservableObject {
@Published var testString = ""
func test() {
self.testString = "Hello"
}
}
Есть идеи?