由于';内部';保护级别-Swift 4 iOS

由于';内部';保护级别-Swift 4 iOS,ios,swift4,xcode9,Ios,Swift4,Xcode9,我对Swift编程有点陌生,所以如果这看起来很愚蠢,请原谅我。我在ViewController外部有一个类,我想在ViewController内部实例化该类,但我得到一个错误: 由于“内部”保护级别,无法访问初始值设定项 班级: public class TappyBleScanner : NSObject, CBCentralManagerDelegate { public var manager : CBCentralManager = CBCentralManager(del

我对Swift编程有点陌生,所以如果这看起来很愚蠢,请原谅我。我在ViewController外部有一个类,我想在ViewController内部实例化该类,但我得到一个错误:

由于“内部”保护级别,无法访问初始值设定项

班级:

public class TappyBleScanner : NSObject, CBCentralManagerDelegate {

      public var manager : CBCentralManager = CBCentralManager(delegate: self, queue : nil)

      public init(){} //based on other posts, I thought this would solve it
}
ViewController中的代码:

    public func scanForTappyBle() {

    var tappyScanner : TappyBleScanner = TappyBleScanner() //<- This is where Xcode 9 reports the error


}
public func scanForTappyBle(){

var tappyScanner:TappyBleScanner=TappyBleScanner()//我甚至无法编译您拥有的内容(Xcode 9.2)。您需要重写init()。并且不能在manager的静态初始化中使用self

如果将TappyBleScanner更改为以下内容,它将编译并运行:)


谢谢!是的,我只提供了一个代码片段,所以没有太多的内容要看。我最初使用的是overide init()同样的错误也产生了,甚至尝试显式地将其标记为public,但没有成功。我怀疑现在项目配置有问题,因为今天早上它似乎根本找不到依赖项(未声明的类型错误等),除重新启动外,我没有做任何更改。我也是XCode新手。我会让依赖项/引用再次工作,然后尝试您的建议
public class TappyBleScanner : NSObject, CBCentralManagerDelegate
{
    public var manager : CBCentralManager?

    override init()
    {
        super.init()
        self.manager = CBCentralManager(delegate: self, queue : nil)
    }

    public func centralManagerDidUpdateState(_ central: CBCentralManager)
    {
    }
}