在组合项目中从Swift类访问Objective-C类中的singleton sharedInstance

问题描述 投票:-2回答:1

我有一个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()

在此先感谢您的任何建议。

objective-c swift singleton
1个回答
1
投票

像这样声明你的单例类引用变量

var singletonReference = YourSingletoneClass.sharedInstance() as! YourSingletoneClass

和使用引用变量访问值

var username: String = singletonReference.getUserName()

根据你的例子,你也可以这样使用

var username: String = (referenceClass.sharedInstance() as! referenceClass).getUserName()

注意:如果您希望您的类中的引用变量全局声明

© www.soinside.com 2019 - 2024. All rights reserved.