比较两个对象数组时,不可思议的Swift编译器错误

时间:2015-08-03 08:56:49

标签: arrays swift compiler-errors equality

我正在尝试比较两个这样的对象数组:

if oneObjectArray != anotherObjectArray {
   // ... do stuff
}

但是我得到以下不太有用的编译器错误:

  

二元运算符'!='不能应用于'[MyModelObject]'和'[(MyModelObject)]''

类型的操作数

编译器错误指向等式检查中的第一个操作数。

1 个答案:

答案 0 :(得分:1)

我认为你的问题是你没有使MyObectModel等同。

为了检查两个MyObjectModel数组的相等性,您需要能够检查两个MyObjectModel对象的相等性。

为此,您需要执行以下操作...

extension MyObjectModel: Equatable {}

// as a top level function
func ==(lhs: MyObjectModel, rhs: MyObjectModel) -> Bool {
    // check if your objects are equal here...
    return lhs.name == rhs.name
}