无法为 'contains' 找到接受类型为 Swift 的参数列表的重载

Cannot find an overload for 'contains' that accepts an argument list of type in Swift

我想检查 swift 中自定义数组中的相似对象。 我正在使用 contains 方法,但出现错误。

var companies:[Company] = [Company]()
var company = Company()

if !contains(self.companies,company) //I am having an error here
{
    ...
}

我收到这个错误:

Error: Cannot find an overload for 'contains' that accepts an argument list of type '([Company], Company)'

也许您只需要 Company 成为 Equatable。像这样:

struct Company: Equatable {

}

func ==(lhs: Company, rhs: Company) -> Bool {
    return true // Do your custom implementation that returns true if lhs and hrs should be considered equal
}

希望对您有所帮助

作为解决方法 - 转换为 NSArray

(companies as NSArray).containsObject(company)