Как остановить наблюдаемый объект от обновления пользовательского интерфейса в SwiftUi? - PullRequest
0 голосов
/ 21 марта 2020

Я работаю с навигацией ViewView с swiftUI. Моя проблема заключается в том, что всякий раз, когда я go перехожу в другое представление с помощью Navlink и наблюдаемого объекта root из моего навигационного представления, мой интерфейс возвращается к представлению root.

Поэтому мой вопрос: Есть ли способ сообщить наблюдаемому объекту root элемента навигацииView о прекращении обновления пользовательского интерфейса при переходе к navLink?

root моего элемента viewView: listChatViewModel - это объект Observable, а недавние сообщения опубликованное свойство

NavigationView{

            ScrollView(.vertical, showsIndicators: false){
                VStack(spacing : 6){
                    //Recent
                    ForEach(listChatViewModel.recentMessages){recentMessage in
                        NavigationLink(destination: ChatView(ChatViewModel(myUserId : self.session.session!.uid, userId : recentMessage.senderProfile!.user_id))) {
                            RecentCellView(recentMessage: recentMessage)
                        }
                    }
                    .padding()

                }

            }
            .navigationBarTitle("Chat", displayMode: .inline)
            .navigationBarItems(leading:
                Image("logo_black").resizable().frame(width: 32.0, height: 32.0)
            )
        }

Когда я нахожусь в ChatView и обновляется свойство недавние сообщения, это заставляет меня go вернуться к представлению root

...