等同于 Swift

Equatable in Swift

我正在尝试使用 Swift 结构定义 Equatable。我在行 func == 上收到错误消息 Operators are only allowed at global scope

struct ShoppingList {

    var shoppingListId :NSNumber
    var title :String

    init(title :String) {

        self.title = title
        self.shoppingListId = NSNumber(integer: 0)
    }
}

extension ShoppingList {

    public func ==(lhs :ShoppingList, rhs :ShoppingList) -> Bool {
        return lhs.title == rhs.title
    }

}

我错过了什么?

正是它所说的。将运算符函数定义移到扩展之外。它是在全球范围内完成的。