我尝试使用Apple提供的Reachability
课程。
它有一个像这样的Objective-C枚举:
typedef enum : NSInteger {
NotReachable = 0,
ReachableViaWiFi,
ReachableViaWWAN
} NetworkStatus;
在Swift中,我正在做这样的事情:
if let networkReachability = notification.object as? Reachability {
let remoteHostStatus = networkReachability.currentReachabilityStatus()
let center = NotificationCenter.default
var notificationKey: String
if (remoteHostStatus == NetworkStatus.NotReachable) {
...
}
}
但我收到错误:
类型'NetworkStatus'没有成员'NotReachable'
我做错了什么?如何在Swift中使用Objective-C enum
?
答案 0 :(得分:1)
如果您定义如下的枚举,则可以NetworkStatus.NotReachable
等方式访问它:
typedef NS_ENUM(NSInteger, NetworkStatus) {
NotReachable = 0,
ReachableViaWiFi,
ReachableViaWWAN
};
答案 1 :(得分:1)
typedef enum : NSInteger {
NotReachable = 0,
ReachableViaWiFi,
ReachableViaWWAN
} NetworkStatus;
这是一个普通的" C enum。所以它没有命名空间到达Swift;名称NotReachable
,ReachableViaWiFi
和ReachableViaWWAN
可以直接使用 。请注意,没有前一个点(.
)。