Почему я не могу передать переменные представлению SwiftUI в режиме предварительного просмотра? - PullRequest
1 голос
/ 03 апреля 2020

Это мой первый раз, когда я создаю приложение с использованием SwiftUI, и Xcode выдает мне странные ошибки, когда я пытаюсь создать интерфейс.

В конечном итоге мне понадобится список, который перебирает массив кубиков ( D ie - это структура, которую я создал, чтобы определить конкретный d ie, например, d6 или d20).

Пока я просто тестирую интерфейс. В целях тестирования / предварительного просмотра в XCode я хотел бы иметь возможность использовать некоторые тестовые данные, но я не могу понять, как передать эту переменную в главное представление. Я получаю предупреждение о том, что «результат инициализатора не используется» и об ошибке, что «Функция объявляет непрозрачный тип возврата, но не имеет в своем теле операторов возврата, из которых можно вывести базовый тип».

Я, наверное, сделал что-то глупое. Кто-нибудь может помочь осветить что?

struct DiceListView: View {
    var diceToList: [Die]

    var body: some View {
        Text("testing")
    }

    init(dice: [Die]) {
        diceToList = dice
    }
}

struct DiceListView_Previews: PreviewProvider {
    static var previews: some View {

        // setup test dice data (d4, d5, d6)
        let testDice: [Die] = [Die(sides: 4), Die(sides: 5), Die()]


        DiceListView(dice: testDice)
    }
}

1 Ответ

1 голос
/ 03 апреля 2020

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

static var previews: some View {

    // setup test dice data (d4, d5, d6)
    let testDice: [Die] = [Die(sides: 4), Die(sides: 5), Die()]
    return DiceListView(dice: testDice)
}

или

static var previews: some View {

    // setup test dice data (d4, d5, d6)
    DiceListView(dice: [Die(sides: 4), Die(sides: 5), Die()])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...