Swift 常見協議

1 Hashable 協議

class m1:Hashable{
    var name:String = ""
    var age:Int?
//    swift 4.1 版本被廢棄了
    var hashValue:Int{
        get{
//            按照自己的規則生成
            return name.hashValue * age.hashValue
        }
    }
//    swift 4.2
    func hash(into hasher: inout Hasher) {
        hasher.combine(name)
        hasher.combine(age)
    }
    
    static func == (lhs: m1, rhs: m1) -> Bool {
        return lhs.name == rhs.name
    }
    
    
}

Hashable協議

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章