我有一个Objective-C项目,其中我添加了一个Swift类。我想从我的Swift代码访问Objective C类的共享实例,但我找不到任何如何执行此操作的示例。以下是Objective-C中的一些代码示例,用于访问我想从Swift执行的共享实例:
//to get property
self.managedObjectContext = [myModel sharedInstance].managedObjectContext;
//to get a string returned by a method in the sharedInstance
NSString *aUser = [[referenceClass sharedInstance] getUserName];
在单例的Objective-C头文件中,我有
+ (referenceClass*)sharedInstance;
我已经在我的Bridging Header文件中导入了所需的类,例如referenceClass,但是如何使用Swift获取字符串?
类似的东西:(伪代码)
var username: String = referenceClass.sharedInstance().getUserName()
在此先感谢您的任何建议。
像这样声明你的单例类引用变量
var singletonReference = YourSingletoneClass.sharedInstance() as! YourSingletoneClass
和使用引用变量访问值
var username: String = singletonReference.getUserName()
根据你的例子,你也可以这样使用
var username: String = (referenceClass.sharedInstance() as! referenceClass).getUserName()
注意:如果您希望您的类中的引用变量全局声明