Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从目标c调用swift类(从NSObject类派生)init_Ios_Objective C_Iphone_Swift - Fatal编程技术网

Ios 从目标c调用swift类(从NSObject类派生)init

Ios 从目标c调用swift类(从NSObject类派生)init,ios,objective-c,iphone,swift,Ios,Objective C,Iphone,Swift,我有一个Swift类,它继承了用Objective-C编写的NSObject派生类 @objc class DisplayMessage : JSQMessage, BaseModel { init(var userId:String, var userName:String, var message:String, var group:Group) { //... } } 我如何从Objective-C调用这个init 我只看到JSQMessage(用obj-c编写的NS

我有一个Swift类,它继承了用Objective-C编写的NSObject派生类

@objc class DisplayMessage : JSQMessage, BaseModel
{
 init(var userId:String, var userName:String, var message:String, var group:Group)
    {
//...
     }
}
我如何从Objective-C调用这个init

我只看到JSQMessage(用obj-c编写的NSObject派生类)inits..+没有参数的默认init方法

更新

我在swift中的init前面插入了一个@objc,得到了错误

方法无法标记为@objc,因为参数1,2,3,4的类型无法在objective-c中表示

在我看到这一点之后,我将字符串类型更改为NSString,并且组类已经是@objc;我仍然收到同样的错误

  @objc init(var numberLol:Int)
{
    super.init(senderId: "", senderDisplayName: "", date:nil,  text: nil)
}
更新2

我用Int初始值设定项尝试了同样的方法,但得到了同样的错误

  @objc init(var numberLol:Int)
{
    super.init(senderId: "", senderDisplayName: "", date:nil,  text: nil)
}

答案是我必须从init中的每个参数中删除“var”。为什么?idk

您是否尝试过将
String
替换为
NSString
?是的,我在更新1oops中提到过这一点!,对不起,我想不起来了。你为什么一开始就使用
var