从Objective-C访问Swift枚举属性

时间:2016-04-08 10:28:46

标签: objective-c enums swift2

以下是我在Swift中声明enum的方法。我在一个类中有一个enum类型的属性。但我无法从Objective-C访问此属性。这有什么解决方法吗?我在Swift上完全写了我的应用程序。我现在正在整合第三方SDK,它完全基于Objective-C。我需要Objective-C中这个enum属性的值。

 @objc public enum PaymentType: NSInteger {
    case COD
    case NB
    case CARDS
    case PAYTM
    case CITRUS
}
    var modeOfPayment: PaymentType?

当我尝试在Objective-C中访问此属性时,它说

  

未找到属性modeOfPayment

NSLog(@"%d",[Helper sharedInstance].order.modeOfPayment);

1 个答案:

答案 0 :(得分:0)

@objc public enum PaymentType: Int {
    case none
    case COD
    case NB
    case CARDS
    case PAYTM
    case CITRUS
}
    var modeOfPayment: PaymentType = .none

确保Swift枚举中没有case,并将.none分配给属性