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)
    }
}
Другие вопросы по тегам