NavigationView влияет на мое дополнительное значение в SwiftUI - PullRequest
0 голосов
/ 26 мая 2020

У меня есть структура, в которой есть необязательное значение. Если для этого необязательного значения нет данных, я хочу отобразить «Неизвестно». Я использовал nil-coalescing ?? «Неизвестно», чтобы отобразить его. Сначала он работал, но затем я добавил NavigationView, чтобы поместить заголовок, к сожалению, он перестал отображать «Неизвестно». Буду очень признателен за любую информацию. Спасибо

enter image description here

    struct News: Codable {

    let articles: [Articlia]

}

struct Articlia: Codable {

    let author: String?
    let title: String

}

    class ListViewModel: ObservableObject {

    @Published var ListViewMod = [ViewModel]()

    init() {

        WebServices().getData {
            ListViewMod in

            if let ListViewMod = ListViewMod
            {
               self.ListViewMod = ListViewMod.map(ViewModel.init)
            }
        }
    }




}


struct ViewModel: Identifiable {

    let id = UUID()

    let article: Articlia

    init(article: Articlia) {

        self.article = article

    }

    var author: String {

        return self.article.author ?? "Unknown"
    }

    var title: String {
        return self.article.title
    }

}
    struct ContentView: View {

    @ObservedObject var model = ListViewModel()


    var body: some View {

    NavigationView
        {
        List(model.ListViewMod)
        {
         article in

            VStack(alignment:.leading, spacing:15) {
                     Text(article.title)
                         .lineLimit(nil)



                Text("by " + article.author + " ")
                         .foregroundColor(.secondary)
                         .lineLimit(nil)


            }
        }.navigationBarTitle("Recent News")
        .padding(5)

    }

    }

    }


struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...