Objective c 从objective c库初始化swift类

Objective c 从objective c库初始化swift类,objective-c,swift,initialization,init,Objective C,Swift,Initialization,Init,您好,我目前正在将一个项目从objective C导入swift。objective C项目使用一个自定义库,该库在其中一个类中具有一个函数,该函数接受一个Class对象,当加载数据时,它用该类初始化一个id obj(下面的代码)。在目标C方面,这非常有效!我在swift上使用了相同的库,带有一个桥头,但不幸的是,一旦加载数据,我的对象就是nil。我验证了用于初始化对象的数据对象是否包含内容。自定义swift类还要求我实现一个init(data:data)初始值设定项。当我添加一个自定义init

您好,我目前正在将一个项目从objective C导入swift。objective C项目使用一个自定义库,该库在其中一个类中具有一个函数,该函数接受一个Class对象,当加载数据时,它用该类初始化一个id obj(下面的代码)。在目标C方面,这非常有效!我在swift上使用了相同的库,带有一个桥头,但不幸的是,一旦加载数据,我的对象就是nil。我验证了用于初始化对象的数据对象是否包含内容。自定义swift类还要求我实现一个init(data:data)初始值设定项。当我添加一个自定义init()时,我是swift的新手,任何帮助都会很好!谢谢大家!

目标C:

图书馆:

-(id) buildRetObject:(Class)clss fromData(NSData*) data{
id obj = nil;
if (data != nil) {
obj = [[clss alloc] initWithData:data];
}
}
自定义对象,是另一个自定义对象的子类,不在库中,但在主应用程序上:

项目m:

-(id)init{
    if ([super init]){
       //do something
    }

    return self
}
swift中的相同项目对象:

//customClass super class is abstactCustomClass which is a sub abstract class of NSObject class, init functions are in here, the abstract class
class Item: customClass { 

//variables

override init() {
   super.init()
   // do something
}

required init!(data: Data){
   //fatalError(message here)
   /*tried calling supers method 
    super.init(data:Data) gives error: fatal error: use of unimplemented initializer 'init(dictionary:)'*/
}

//methods

}

经过大量挖掘,我终于能够弄明白,objective C从抽象类中知道初始化者是什么,swift不知道。所以我需要做的就是实现这个初始化器,它就可以工作了

required init!(data: Data){
    super.init(data:Data)
}

override init(dictionary: [AnyHashable: Any]!){
    super.init(Dictionary:dictionary)
}

你能举一个更完整的例子吗?什么是Swift类定义?@Ssswift我更新了我的帖子,请告诉我这是否更有帮助