RFG*_*RFG 5 xcode ios afnetworking swift swift-protocols
刚开始在面向协议的协议编程之后迅速工作,我面临着使用计算变量的问题。
我已经制定了一个协议来检查整个应用程序上的Internet可达性(而不是使用已经实现的UIVIewController子类来实现此行为)。但是,当我运行应用程序时,计算变量()的访问集属性崩溃:

这是代码:
import UIKit
protocol ReachabilityProtocol: class {
var reachability: NetReach? { get set }
func startReachability()
func stopReachability()
func internetIsAccessible()
func internetIsNotAccessible()
}
extension ReachabilityProtocol where Self: UIViewController {
var reachability: NetReach? {
get { return reachability }
set { reachability = newValue }
}
func startReachability() {
do {
reachability = try NetReach.reachabilityForInternetConnection()
} catch {
print("Unable to create Reachability")
return
}
NSNotificationCenter.defaultCenter().addObserverForName(ReachabilityChangedNotification, object: reachability, queue: nil, usingBlock: { notification in
let reachable = notification.object as! NetReach
if !reachable.isReachable() {
self.internetIsNotAccessible()
} else {
self.internetIsAccessible()
}
})
do {
try reachability?.startNotifier()
} catch {
self.internetIsNotAccessible()
print("Could not start reachability notifier")
}
}
func stopReachability() {
reachability!.stopNotifier()
NSNotificationCenter.defaultCenter().removeObserver(self, name: ReachabilityChangedNotification, object: reachability)
}
}
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?谢谢。
| 归档时间: |
|
| 查看次数: |
2707 次 |
| 最近记录: |