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