У меня есть приложение меню ресторана, которое группирует пункты меню внутри разделов меню с помощью NavigationLinks для каждого пункта меню, которые предназначены для отображения более подробного описания пункта. Все элементы меню в разделе сгруппированы вместе, как если бы они были одной ссылкой, что вызывает ошибку «Неустранимая ошибка: UIKitNavigationBridge: несколько активных пунктов назначения: файл SwiftUI». Другими словами, он пытается отобразить детали для всех элементов в этом разделе, когда вы щелкаете по любому отдельному элементу.
Я делаю это с помощью вида раздела, который отображает различные разделы и, в свою очередь, в каждом разделе отображаются элементы в этом разделе.
Кажется, это ошибка в SwiftUI, но поскольку я относительно новичок в SwiftUI, я подумал, что попрошу более опытный совет.
import SwiftUI
struct MenuSectionView: View
{
@Environment(\.managedObjectContext) var managedObjectContext
@EnvironmentObject var env: GlobalEnvironment
var group: Group
var items: [MenuItem]
init(group: Group)
{
self.group = group
items = getMenuItems(businessid: group.businessid!, groupid: group.groupid)
}
var body: some View
{
VStack
{
ForEach (items, id: \.itemid)
{
itemx in
if group.groupid == itemx.groupid
{
MenuItemView(item: itemx)
}
}
}
}
}
import SwiftUI
import CoreData
struct MenuItemView: View
{
@Environment(\.managedObjectContext) var context
@EnvironmentObject var env: GlobalEnvironment
var item: MenuItem
init(item: MenuItem)
{
self.item = item
}
var body: some View
{
return VStack
{
NavigationLink(destination: DetailView(item: item))
{
VStack
{
HStack
{
if let image = item.image
{
Image(uiImage: UIImage(data: image)!).resizable().frame(width: 40, height: 40).cornerRadius(5)
} else
{
Image(item.name!).resizable().frame(width: 40, height: 40).cornerRadius(5)
}
Text(item.name!)
}
Text(item.desc!)
}
}
}
}
}
}