macOS - Ошибка при передаче информации через представление пользовательского интерфейса
Я пытаюсь передать информацию из одного представления SwiftUI (скажем) в другое (), используя
NavigationLink
. Я нашел эту статью, но когда пытаюсь ее запустить, получаю сообщение об ошибке
"Cannot find type 'Event' in scope"
:
Вот мой код для
View1
:
@available(OSX 11.0, *)
struct Mods_UI: View {
let PassMe = "Hello!"
var body: some View {
NavigationView {
NavigationLink(destination: MarkdownView(item: String(PassMe))) {
Label("Hello World!")
}
}
}
}
Вот мой код для
View2
:
struct MarkdownView: View {
let item: Event
var body: some View {
Text(String(item))
}
}
Я понятия не имею, что происходит не так. Если потребуется дополнительная информация, сообщите мне.
Версия Swift: Последняя (5.3.3)
Версия Xcode: Последняя (12.4)
1 ответ
Решение
На странице, на которую вы ссылаетесь, у них есть настраиваемый тип под названием
Event
, вероятно, определяется как
struct
где-то в их коде, чего не было в посте.
Однако вы просто пытаетесь пройти
String
вокруг. Вы можете сделать это:
@available(OSX 11.0, *)
struct Mods_UI: View {
let passMe = "Hello!"
var body: some View {
NavigationView {
NavigationLink(destination: MarkdownView(item: passMe)) {
Label("Hello World!")
}
}
}
}
struct MarkdownView: View {
var item: String
var body: some View {
Text(item)
}
}