Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 实例成员';可达性';不能用于类型';CMNetworkManager';_Swift - Fatal编程技术网

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")
    }
}
}