我有一个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中表示
在我看到这个之后,我将String类型更改为NSString,Group类已经是@objc;我仍然收到同样的错误
更新2
我使用Int初始化程序尝试了相同的操作,我得到了相同的错误
@objc init(var numberLol:Int)
{
super.init(senderId: "", senderDisplayName: "", date:nil, text: nil)
}
答案 0 :(得分:0)
好的,所以答案是我必须从init中的每个参数中删除“var”。为什么? IDK的