我在项目中使用ReachabilitySwift cocoapods。
Pod文件:
pod 'ReachabilitySwift', '~> 2.4'我安装了这个吊舱并导入了ReachabilitySwift文件。
现在,当创建实例时,let reachability = Reachability()!会导致错误,不能在没有参数的情况下调用类型“Reachability”的初始化程序。

我试过这个解决方案,但没有成功。
有什么解决办法吗?
发布于 2017-03-16 12:11:33
修好了!
为Swift 2.3创建的可达实例如下所示
let reachability = try! Reachability.init(hostname: "www.google.com")发布于 2017-03-16 10:33:31
错误信息非常清楚:
您必须使用带参数的初始化器之一.
键入let reachability = Reach并找出Xcode在代码完成中的建议
(或阅读文件)。
发布于 2017-03-16 10:57:26
问题是,您使用的是ReachabilitySwift的,对于这个版本,您需要在2.4的版本中使用。但是在这个版本中,Reachability类没有没有参数的构造函数。要解决这个问题,您需要为该类创建扩展并添加没有参数的构造函数。
extansion Reachability{
public convenience init() {
var zeroAddress = sockaddr()
zeroAddress.sa_len = UInt8(MemoryLayout<sockaddr>.size)
zeroAddress.sa_family = sa_family_t(AF_INET)
guard let ref: SCNetworkReachability = withUnsafePointer(to: &zeroAddress, {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}) else { return nil }
self.init(reachabilityRef: ref)
}
}我没有测试过这段代码。它的代码可能包含一些错误。
https://stackoverflow.com/questions/42831357
复制相似问题