ios 如何在SwiftUI中的#Preview中放置自定义Binding对象?

wn9m85ua  于 2023-11-19  发布在  iOS
关注(0)|答案(1)|浏览(145)

Xcode给出了以下代码的错误消息“Ambiguity use of 'Preview'”:

import SwiftUI

struct TileDetailView: View {
    @Binding var tile: Tile  // This is a custom object
    @Binding var isShowingTileDetail: Bool
    
    var body: some View {
        Text("This is a tile.")
    }
}

#Preview {
    let bindingVar = Binding.constant(false)
    let aTile = AMClass(name: "A Tile")
    let bindingTile = Binding<Tile>(
        get: { aTile }
    )
    return TileDetailView(aTile: bindingTile, isShowingClassDetail: bindingVar)
}

字符串
请随时指出上述代码的问题。谢谢。

n3h0vuf2

n3h0vuf21#

这个怎么样?您可以使用.constant初始化@Binding属性。如果Tile是一个协议,请将其替换为任何符合Tile的实现类,结构体等。

#Preview {
    TileDetailView(
        tile: .constant(Tile()), //or TileImpl()
        isShowingTileDetail: .constant(false)
    )
}

字符串


的数据

相关问题