SwiftUI列表无法识别对象类型

时间:2019-10-25 14:47:53

标签: ios swift swiftui

所以我试图像这样在SwiftUI中创建一个列表:

struct DetailsView: View {
    var piis = [IDPiece]()

    var body: some View {
        List(piis, id: \.identifier) { pii in
            Text( pii.label )
        }
    }
}

IDPiece如下:

struct IDPiece: Equatable {
    init() {}

    init(claim: Claim) {
        self.document = claim.document
        self.identifier = claim.identifier
        self.claimUID = claim.claimUID
        self.label = claim.label
    }

    var document: DocumentType = .na
    var identifier: String = ""
    var claimUID: String = ""
    var label: String?
}

但是我在初始化列表的那一行上仍然收到以下错误:

  

类型“ _”没有成员“标识符”

似乎没有解析我的piis列表中包含的对象的类型。有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:3)

SwiftUI编译器错误通常是无用的(随着时间的流逝,这种错误将得到改善,但是今天它们已经无用了)。您的问题与\.identifier无关。问题是您有一个可选的.label,但没有处理为零的情况。几乎可以肯定,您应该将label设为非可选。但是,如果需要它是可选的(如果您在某些地方对nil的处理不同于对null的处理),则需要对此做一些事情,例如:

Text(pii.label ?? "N/A")
相关问题