相关疑难解决方法(0)

对实现Equatable的结构数组的操作

我有一系列不同的结构,所有实现Equatable协议,并试图将其传递给期望集合的函数where T.Iterator.Element: Equatable.我知道如何通过使用类来解决这个问题,只需创建一个class Vehicle: Identifiable, Equatable,然后制作CarTractor实现Vehicle.但是,我想知道使用结构和协议是否可行?

这是我正在尝试做的一个人为的例子

//: Playground - noun: a place where people can play

protocol Identifiable {
    var ID: String { get set }
    init(ID: String)
    init()
}

extension Identifiable {
    init(ID: String) {
        self.init()
        self.ID = ID
    }
}

typealias Vehicle = Identifiable & Equatable

struct Car: Vehicle {
    var ID: String

    init() {
        ID = ""
    }

    public static func ==(lhs: Car, rhs: …
Run Code Online (Sandbox Code Playgroud)

arrays struct swift swift3

9
推荐指数
1
解决办法
644
查看次数

标签 统计

arrays ×1

struct ×1

swift ×1

swift3 ×1