Swift: ошибка предварительного условия на устройстве, но не на эмуляторе? - PullRequest
0 голосов
/ 26 января 2020

По какой-то причине я получаю

ошибка предварительного условия: атрибут не смог установить начальное значение: 98

При запуске приложения на моем реальном iPhone устройстве , но не в эмуляторе.

Это начальное представление, которое запускается:

 import SwiftUI

    struct NavBar: View {
        var body: some View {
            TabView {
                View0()
                    .tabItem {
                        Image(systemName: "star.fill")
                        Text("view1")
                    }.tag(0)
                View1()
                    .tabItem {
                        Image(systemName: "cart")
                        Text("view1")
                    }.tag(1)
                View2()
                    .tabItem {
                        Image(systemName: "list.bullet")
                        Text("view2")
                }.tag(2)
            }
        }
    }

Ошибка предварительного условия появляется, когда я переключаюсь с View0 на View1.

View0 :

import SwiftUI

struct View0: View {

    var favorites: [String]

    var body: some View {
        List {
            Image(systemName: "photo")
            VStack(alignment: .leading) {
                Text("Simon ng")
            }
            Text("test phrase")
            Text("blah blah")
        }
    }
}

View1:

import SwiftUI

struct View1: View {

    var body: some View {
        Text("test")
    }
}       

Как мне go отладить это?

1 Ответ

1 голос
/ 01 февраля 2020

Я нашел решение своей проблемы.

В каждом из представлений в моем TabView (т. Е. View0, View1, View2) я вернулся и удостоверился, что обернул каждый список в NavigationView.

то есть для тела View0:

var body: some View {

    NavigationView {
        List {
            Image(systemName: "photo")
            VStack(alignment: .leading) {
                Text("Simon ng")
            }
            Text("test phrase")
            Text("blah blah")
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...