Swift 4 迁移 - 从非协议继承,非 class AnyObject

Swift 4 Migration - Inheritance from non-protocol, non class AnyObject

我有我的 Swift 3 项目,我想将其转换为 Swift 4

在对话后编译时,我得到一些关于 Inheritance from non-protocol.

的错误(都是一样的)

这是触发错误的 class:

import Foundation
import ObjectMapper


//MARK: - Equatable
func ==(lhs: ProcedureSearchModel, rhs: ProcedureSearchModel) -> Bool {
    return lhs.hashValue == rhs.hashValue
}

class ProcedureSearchModel : AnyObject, Mappable, Hashable {

    var procedureUid : String = ""
    var cpt : String = ""
    var description : String = ""

    required init?(map: Map) {

    }

    //MARK: - Hashable
    var hashValue : Int {
        get {
            return procedureUid.hashValue
        }
    }


    init (procedureUid : String, cpt: String, description : String) {
        self.procedureUid = procedureUid;
        self.cpt = cpt;
        self.description = description
    }

    // Mappable
    func mapping(map: Map) {
        procedureUid    <- map["ProcedureUid"]
        cpt         <- map["CPT"]
        description  <- map["Description"]

    }


}

Any clue on how to resolve this issue?

谢谢

您的 class 定义不能包含 AnyObject。 AnyObject 不是 class 或协议。

您需要从 class 定义中删除 AnyObject,或者将其替换为 NSObject(如果您希望它成为 Objective-C 兼容的 class。

class ProcedureSearchModel : Mappable, Hashable {

}

或者:

class ProcedureSearchModel : NSObject, Mappable, Hashable {

}