Мне нужна кнопка «Плюс» in в моих NavigationView
х List
.navigationBarItems
(прямо на панели навигации), которую я хотел бы добавить в список, используя последующее представление в иерархия навигации для ввода его имени и т. д. c.
![enter image description here](https://i.stack.imgur.com/8sJa4.png)
Но, во-первых, я даже не могу получить кнопку для правильной навигации! Когда я нажимаю на него в Preview Canvas, кажется, что кнопка работает. И все же в реальном приложении, хотя оно и переходит к моему целевому представлению, когда я нажимаю кнопку «<Назад» в этом представлении, происходит сбой приложения с: </p>
Завершение приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: 'Попытался открыть контроллер представления, который не существует.'
Любые предложения, как я могу исправить следующий код, пожалуйста? Эта задача настолько распространена, что я что-то упускаю и делаю неправильно.
import SwiftUI
struct ListItem: Identifiable {
var id = UUID()
var name: String
}
struct ContentView: View {
var listItems = [
ListItem(name: "List Item One"),
ListItem(name: "List Item Two")
]
var body: some View {
NavigationView {
List(listItems) { listItem in
NavigationLink(destination: DetailView(existingItem: listItem)) {
Text(listItem.name)
}
}
.navigationBarTitle(Text("Configure List Items"), displayMode: .inline)
.navigationBarItems(trailing:
NavigationLink(destination: DetailView(existingItem: nil)) {
Image(systemName: "plus")
.resizable()
.padding(6)
.frame(width: 24, height: 24)
.background(Color.blue)
.clipShape(Circle())
.foregroundColor(.white)
} )
}
}
}
struct DetailView: View {
var existingItem: ListItem?
var body: some View {
Text((existingItem != nil) ? "Edit existing: \(existingItem!.name)" : "Enter NEW List Item")
}
}
Спасибо! Кстати, я на MacOS Catalina 10.15.2 с использованием: Xcode 11.3.1