Static member cannot be used on instance of type
我正试图创建一个单实例的访问方法。我得到这个错误(见下面的代码)。我不明白为什么会出现这个错误,这个错误意味着什么。有人能解释吗?
1 2 3 4 5 6 7 8 9 10 | @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { static private var thedelegate: AppDelegate? class var delegate : AppDelegate { return thedelegate! } func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { thedelegate = self // syntax error: Static member 'thedelegate' cannot be used on instance of type 'AppDelegate' |
您需要在静态/类变量或函数前面加上声明它的类名,即使是在同一个类中。
在这种情况下,您需要EDOCX1[0]
正如马丁R.指出的那样,埃多克斯1〔1〕。
您正试图从该类的实例访问类级变量。要使用它,需要生成类级函数:static func()。试试这个:
1 2 3 | static func sharedDelegate() -> AppDelegate { return UIApplication.sharedApplication().delegate as! AppDelegate } |