Swift arrays and contains, how to determine if a collection contains an object or value?

后端 未结 3 1722
暖寄归人
暖寄归人 2020-12-09 15:25

I\'m at it again with swift arrays and containsObject provided by NSArray only!

I bridge the swift array to NSArray to do that contains:

extension Ar         


        
3条回答
  •  甜味超标
    2020-12-09 15:37

    Generally, when you want to have an array that contains a custom object or struct, and you want to work with "contains" function, your class or struct should be conformed to "Equatable" protocol and you should implement the "==" function for later comparisons...

    struct booy: Equatable{
    static func == (lhs: booy, rhs: booy) -> Bool {
        return lhs.name == rhs.name
    }
    
    var name = "abud"
    }
    
    let booy1 = booy(name: "ali")
    let booy2 = booy(name: "ghasem")
    
    var array1 = [booy]()
    array1.append(booy1)
    array1.append(booy2)
    
    let booy3 = booy(name: "ali")
    
    if array1.contains(booy3){
        print("yes") }
    

提交回复
热议问题