相关疑难解决方法(0)

如何在Swift中确认可识别协议的枚举?

我正在尝试使用新的SwiftUI框架枚举列出案例的原始值。但是,我在使“数据”符合可识别协议方面遇到了麻烦,而且我真的找不到信息。它告诉我“ Initializer'init(_:rowContent :)'要求'Data'必须符合'Identifiable'”。存根在最后一个扩展中为我提供了ObjectIdentifier变量,但不知道我应该返回什么。你能告诉我怎么做吗?如何使数据符合可识别性,以便可以列出原始值?

enum Data: String {
    case firstCase = "First string"
    case secondCase = "Second string"
    case thirdCase = "Third string"
}

extension Data: CaseIterable {
    static let randomSet = [Data.firstCase, Data.secondCase]
}

extension Data: Identifiable {
    var id: ObjectIdentifier {
        return //what?
    }

}

//-------------------------ContentView------------------------
import SwiftUI

struct Lala: View {
    var name: String

    var body: some View {
        Text(name)
    }
}

struct ContentView: View {
    var body: some View {
        return List(Data.allCases) { i in …
Run Code Online (Sandbox Code Playgroud)

enums ios swiftui swift5.1

4
推荐指数
3
解决办法
1795
查看次数

标签 统计

enums ×1

ios ×1

swift5.1 ×1

swiftui ×1