Swift 实例成员';可达性';不能用于类型';CMNetworkManager';
只要使用了Swift 实例成员';可达性';不能用于类型';CMNetworkManager';,swift,Swift,只要使用了可达性。某些东西,这个错误就会显示在Xcode中: 实例成员“可达性”不能用于类型 “CMNetworkManager” 注意: 上面提到的答案不适用于我的例子。(确保您没有试图修改类而不是实例)。我在这里修改一个实例(可达性)问题是您试图从类型方法访问实例属性。您需要使所有方法都成为实例方法,或者使属性成为类型属性 static let reachability=try!Reachability()将解决您的问题,因为这使属性成为类型属性 另外,Swift中不需要继承NSObjec
可达性。某些东西,这个错误就会显示在Xcode中:
实例成员“可达性”不能用于类型
“CMNetworkManager”
注意:
上面提到的答案不适用于我的例子。(确保您没有试图修改类而不是实例)。我在这里修改一个实例(可达性)问题是您试图从类型方法访问实例属性。您需要使所有方法都成为实例方法,或者使属性成为类型属性
static let reachability=try!Reachability()
将解决您的问题,因为这使属性成为类型属性
另外,Swift中不需要继承NSObject。问题是您试图从类型方法访问实例属性。您需要使所有方法都成为实例方法,或者使属性成为类型属性
static let reachability=try!Reachability()
将解决您的问题,因为这使属性成为类型属性
此外,Swift中不需要NSObject
继承
import Foundation
import Reachability
class CMNetworkManager: NSObject {
let reachability = try! Reachability()
override init() {
super.init()
}
class func isReachable() -> Bool {
// deprecated
// return self.sharedInstance.reachability.isReachable
return reachability.connection != .none
}
class func isReachableViaWifi() -> Bool {
//deprecated
//return self.sharedInstance.reachability.isReachableViaWiFi
return reachability.connection == .wifi
}
class func isReachableViaWWAN() -> Bool {
// deprecated
// return self.sharedInstance.reachability.isReachableViaWWAN
return reachability.connection == .cellular
}
class func testCodeFromDocumentation () {
reachability.whenReachable = { reachability in
if reachability.connection == .wifi {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
}
reachability.whenUnreachable = { _ in
print("Not reachable")
}
do {
try reachability.startNotifier()
} catch {
print("Unable to start notifier")
}
}
}