У меня есть основное представление, которое инициализирует ViewModel, которая каждые 30 секунд обновляет список элементов. Модель (для того, чтобы иметь одинаковую ссылку на элементы во всем приложении) передается как @environmentalobject. < /P>
Однако, когда я нахожусь в Mainview-> listview-> descriptionView, и пользователь, например, пытается войти в систему, что влияет на список элементов, и Insecence. Взгляд на то, что приводит креду, которые приводят в описание, чтобы отклонить.import SwiftUI
class ItemViewModel: ObservableObject {
@Published var items: [Item]
var timer: Timer?
func polling() {
refreshItemList()
}
init() {
self.timer = Timer.scheduledTimer(timeInterval: 30, target: self, selector: #selector(polling), userInfo: nil, repeats: true)
}
}
struct MainView {
@StateObject var model: ItemViewModel
@Environment(\.presentationMode) var presentationMode: Binding
var body: View {
ListOfItemsView().environmentObject(model)
}
}
struct ListOfItemsView {
@EnvironmentObject var model: ItemViewModel
@Environment(\.presentationMode) var presentationMode: Binding
var body: View {
List(items) { item in
NavigationLink(destination:
ItemDescriptionView(item).environmentObject(model)
) {
Text(item.title)
}
}
}
}
struct ItemDescriptionView {
let item: Item
@Environment(\.presentationMode) var presentationMode: Binding
func logIn() {
//Results into changes on the ItemViewModel and item list
}
}
Подробнее здесь: https://stackoverflow.com/questions/759 ... tion-stack
Swiftui - Изменения модели в основном представлении. Увольняет навигационный стек ⇐ IOS
Программируем под IOS
1749240912
Anonymous
У меня есть основное представление, которое инициализирует ViewModel, которая каждые 30 секунд обновляет список элементов. Модель (для того, чтобы иметь одинаковую ссылку на элементы во всем приложении) передается как @environmentalobject. < /P>
Однако, когда я нахожусь в Mainview-> listview-> descriptionView, и пользователь, например, пытается войти в систему, что влияет на список элементов, и Insecence. Взгляд на то, что приводит креду, которые приводят в описание, чтобы отклонить.import SwiftUI
class ItemViewModel: ObservableObject {
@Published var items: [Item]
var timer: Timer?
func polling() {
refreshItemList()
}
init() {
self.timer = Timer.scheduledTimer(timeInterval: 30, target: self, selector: #selector(polling), userInfo: nil, repeats: true)
}
}
struct MainView {
@StateObject var model: ItemViewModel
@Environment(\.presentationMode) var presentationMode: Binding
var body: View {
ListOfItemsView().environmentObject(model)
}
}
struct ListOfItemsView {
@EnvironmentObject var model: ItemViewModel
@Environment(\.presentationMode) var presentationMode: Binding
var body: View {
List(items) { item in
NavigationLink(destination:
ItemDescriptionView(item).environmentObject(model)
) {
Text(item.title)
}
}
}
}
struct ItemDescriptionView {
let item: Item
@Environment(\.presentationMode) var presentationMode: Binding
func logIn() {
//Results into changes on the ItemViewModel and item list
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/75950683/swiftui-model-changes-in-main-view-dismisses-navigation-stack[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия