我有一个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()
预先感谢您的任何建议。
答案 0 :(得分:1)
像这样声明您的单例类引用变量
var singletonReference = YourSingletoneClass.sharedInstance() as! YourSingletoneClass
并使用参考变量访问值
var username: String = singletonReference.getUserName()
根据您的示例,您也可以像这样使用
var username: String = (referenceClass.sharedInstance() as! referenceClass).getUserName()
注意:如果您希望整个类中的引用变量都进行全局声明