这是我第一次使用SwiftUI构建应用,而Xcode在尝试创建界面时给了我一些奇怪的错误。
我最终想要的是一个在骰子数组上迭代的列表(Die是我创建的用于定义特定骰子的结构,例如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)
}
}
答案 0 :(得分:1)
在这种情况下,它无法自动检测返回类型,因此这里有可能的解决方法
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()])
}