SwiftUI Список, не распознающий тип объекта - PullRequest
0 голосов
/ 25 октября 2019

Поэтому я пытаюсь создать список в 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 Ответ

3 голосов
/ 25 октября 2019

Ошибки компилятора SwiftUI обычно бесполезны (со временем это улучшится, но сегодня они бесполезны). Ваша проблема не имеет ничего общего с \.identifier. Проблема в том, что у вас есть дополнительный .label, но вы не обрабатываете случай, когда он равен нулю. Почти наверняка вы должны просто сделать label необязательным. Но если он должен быть необязательным (если вы трактуете ноль иначе, чем пустой в каком-то месте), то вам нужно что-то с этим сделать, например:

Text(pii.label ?? "N/A")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...