Equatable enum created in Swift is not available in Objective-C.
I tried as below
@objc enum ViewModel: Equatable {
        case heading(String)
        case options(id: String, title: String, enabled: Bool)
        #if swift(>=4.1)
        #else
        static func ==(lhs: ViewModel, rhs: ViewModel) -> Bool {
            switch (lhs, rhs) {
            case (let .heading(lhsString), let .heading(rhsString)):
                return lhsString == rhsString
            case (let .options(lhsId, lhsTitle, lhsEnabled), let .options(rhsId, rhsTitle, rhsEnabled)):
                return (lhsId, lhsTitle, lhsEnabled) == (rhsId, rhsTitle, rhsEnabled)
            default:
                return false
            }
        }
        #endif
    }
without @objc flag, it works fine, but with @objc not working.
Error says:
'@objc' enum must declare an integer raw type
 
    