在我的项目中,我有许多扩展泛型类的swift类。而现在我需要将来自objective-c类的数据发送到这些swift类。有没有办法做到这一点?
我在课前尝试过使用@objc,如下所示,但它不允许我这样做。
我按照这个答案stack link。但我查看当我使用此代码运行我的应用程序时,它在Project-swift类中创建变量,如下图所示,因为此处未创建变量,因此在Objective-c类中调用变量时出错。
请帮助提供更好的解决方案。
我通过创建另一个包含协议的类来获得我的解决方案,并且我间接调用泛型扩展类。
class EntityDataTable :BaseData<EntitySw> {
}
这是通用的扩展类
而另一个我在objective-c中间接访问这个类的类是
@objc class EntityService : NSObject {
var entityProtocol:EntityDataProtocol?
override init() {
super.init()
entityProtocol = returnDataObject()
}
func returnDataObject() -> EntityDataTable {
return EntityDataTable()
}
}
@objc protocol EntityDataProtocol{
func addFromService(source: CWEntity)
func getAll() -> [EntitySw]
}
然后我在Objective c类中导入了Project-swift.h文件,并生成了swift类的对象