@Binding не может использоваться как атрибут - PullRequest
0 голосов
/ 07 октября 2019

Я следую учебному пособию по SwiftUI и сталкиваюсь с проблемой

Ниже приведены мои попытки привязать логическое значение из одного представления структуры к другому

import SwiftUI
import Foundation
struct BindingTwo: View {

    let episod = Episode(name: "MacBreak Weekly", track: "WWDC 2019")
    @State private var isPlaying = false
    var body: some View {

        VStack{

            Text(self.episod.name).font(.title).foregroundColor(self.isPlaying ? Color.green : Color.black)

        Text(self.episod.track).foregroundColor(.secondary)

            PlayButton(isPlaying: isPlaying)
        }

    }
}

struct PlayButton : View {
    *@Binding var isPlaying : Bool* this line is generating the error
    var body : some View {
        Button(action: {self.isPlaying.toggle()}){
            Text("Play")
        }
        .foregroundColor(Color.white)
        .background(Color.black)
        .padding(12)
    }
}

, но строка @Bindingпродолжает появляться следующая ошибка: «Структура« Binding »не может использоваться в качестве атрибута», насколько я могу судить, это то же самое, что и учебник, я не могу понять, что я пропустил, кто-нибудь видел это раньше?

Ответы [ 3 ]

0 голосов
/ 07 октября 2019

Я не вижу этой конкретной ошибки. Используете ли вы MacOS Catalina версии 10.15+? SwiftUI работает только в Каталине.

0 голосов
/ 08 октября 2019

Просто удалили Xcode и переустановили, ошибка @Binding исчезла, хотя мой симулятор и холст заметно медленнее, я думаю, что могут быть просто периодические проблемы с новыми выпусками, со временем, возможно, вернется нормальная скорость

0 голосов
/ 07 октября 2019

Хотя я не получил ошибку, которую вы упоминаете. Но ваш код работает отлично, просто измените это:

PlayButton(isPlaying: self.$isPlaying)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...