无法为 '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)
我想检查 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)