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