浏览代码

Immutable & non-optional `SCNetworkReachability` reference.

Setting the reference to nil in `deinit` wouldn’t do anything more than the compiler would otherwise do automatically. Removing that line also allows the value to be immutable and non-optional.
Bastiaan Marinus van de Weerd 8 年之前
父节点
当前提交
b27a295977
共有 1 个文件被更改,包括 2 次插入10 次删除
  1. 2 10
      Reachability/Reachability.swift

+ 2 - 10
Reachability/Reachability.swift

@@ -101,7 +101,7 @@ public class Reachability {
     }()
     
     fileprivate var notifierRunning = false
-    fileprivate var reachabilityRef: SCNetworkReachability?
+    fileprivate let reachabilityRef: SCNetworkReachability
     
     fileprivate let reachabilitySerialQueue = DispatchQueue(label: "uk.co.ashleymills.reachability")
     
@@ -132,10 +132,6 @@ public class Reachability {
     
     deinit {
         stopNotifier()
-
-        reachabilityRef = nil
-        whenReachable = nil
-        whenUnreachable = nil
     }
 }
 
@@ -144,7 +140,7 @@ public extension Reachability {
     // MARK: - *** Notifier methods ***
     func startNotifier() throws {
         
-        guard let reachabilityRef = reachabilityRef, !notifierRunning else { return }
+        guard !notifierRunning else { return }
         
         var context = SCNetworkReachabilityContext(version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
         context.info = UnsafeMutableRawPointer(Unmanaged<Reachability>.passUnretained(self).toOpaque())        
@@ -168,7 +164,6 @@ public extension Reachability {
     
     func stopNotifier() {
         defer { notifierRunning = false }
-        guard let reachabilityRef = reachabilityRef else { return }
         
         SCNetworkReachabilitySetCallback(reachabilityRef, nil, nil)
         SCNetworkReachabilitySetDispatchQueue(reachabilityRef, nil)
@@ -281,9 +276,6 @@ fileprivate extension Reachability {
     }
     
     var reachabilityFlags: SCNetworkReachabilityFlags {
-        
-        guard let reachabilityRef = reachabilityRef else { return SCNetworkReachabilityFlags() }
-        
         var flags = SCNetworkReachabilityFlags()
         let gotFlags = withUnsafeMutablePointer(to: &flags) {
             SCNetworkReachabilityGetFlags(reachabilityRef, UnsafeMutablePointer($0))