比较两个对象数组时出现难以理解的 Swift 编译器错误
Inscrutable Swift compiler error when comparing two object arrays
我正在尝试像这样比较两个对象数组:
if oneObjectArray != anotherObjectArray {
// ... do stuff
}
但是我得到以下不太有用的编译器错误:
Binary operator '!=' cannot be applied to operands of type '[MyModelObject]' and '[(MyModelObject)]'`
编译器错误指向相等检查中的第一个操作数。
我认为你的问题是你没有使 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
}
我正在尝试像这样比较两个对象数组:
if oneObjectArray != anotherObjectArray {
// ... do stuff
}
但是我得到以下不太有用的编译器错误:
Binary operator '!=' cannot be applied to operands of type '[MyModelObject]' and '[(MyModelObject)]'`
编译器错误指向相等检查中的第一个操作数。
我认为你的问题是你没有使 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
}