iOS Swift:接收器类型'DataBase'例如消息是Objective C代码的前向声明

Wil*_*lex 5 singleton objective-c ios swift

我得到了Objective C代码的以下编译器错误.

接收器类型'DataBase'实例消息是Objective C代码的前向声明.

SWIFT代码

@objc class SharedData : NSObject {

var dataBase : Database?

class var sharedData : SharedData {
    struct Static {
        static var onceToken: dispatch_once_t = 0
        static var instance: SharedData? = nil
    }
    dispatch_once(&Static.onceToken) {
        Static.instance = SharedData()
    }
    return Static.instance!
}
  }
Run Code Online (Sandbox Code Playgroud)

目标C代码

SharedData *sharedData = [SharedData sharedData];
[sharedData.dataBase grabData];
Run Code Online (Sandbox Code Playgroud)

我的假设是我搞砸了快速的单例,我需要一个与Objective C代码一起使用的单例,但我不太确定.此外,这只是一个示例代码,我的真实代码是不同的,而且更复杂.但是,这应该证明我的问题.