Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不能在预览中将变量传递给SwiftUI视图?_Swift_Swiftui - Fatal编程技术网

为什么我不能在预览中将变量传递给SwiftUI视图?

为什么我不能在预览中将变量传递给SwiftUI视图?,swift,swiftui,Swift,Swiftui,这是我第一次使用SwiftUI构建应用程序,当我尝试创建界面时,Xcode给了我奇怪的错误 我最终想要的是一个遍历骰子数组的列表(骰子是我为定义特定骰子而创建的结构,如d6或d20) 现在,我只是测试接口。为了在Xcode中进行测试/预览,我希望能够使用一些测试数据,但我不太清楚如何将该变量传递到主视图中。我得到了一个警告“初始值设定项的结果未使用”和一个错误“函数声明了一个不透明的返回类型,但在其主体中没有用于推断基础类型的返回语句” 我可能做了些蠢事。有人能帮忙解释一下吗 struct Di

这是我第一次使用SwiftUI构建应用程序,当我尝试创建界面时,Xcode给了我奇怪的错误

我最终想要的是一个遍历骰子数组的列表(骰子是我为定义特定骰子而创建的结构,如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)
    }
}

在这种情况下,它无法自动检测返回类型,因此这里有一些可能的修复方法

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()])
}