2015-01-09 2 views
1

У меня есть класс Swift, который наследуется от производного класса NSObject, написанного в Objective-C.вызов класса swift (из класса NSObject) init из объекта c

@objc class DisplayMessage : JSQMessage, BaseModel 
{ 
init(var userId:String, var userName:String, var message:String, var group:Group) 
    { 
//... 
    } 
} 

Как я могу назвать этот init из Objective-C?

я видеть только JSQMessage (The NSObject-производный класс написано в Obj-C) inits .. + способ инициализации по умолчанию без параметров

ОБНОВЛЕНИЕ

я вставил @objc перед от инициализации в быстром и я получаю ошибку

Метод не может быть отмечен @objc, так как тип параметра 1,2,3,4 не может быть представлен в Objective-C

После того, как я увидел это, я изменил тип String на NSString, а класс Group уже @objc; Я все еще получаю ту же ошибку

UPDATE 2

я пробовал то же самое с Int инициализатором и я получаю ту же ошибку

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

Вы пытались заменить 'String' на' NSString'? – tkanzakic

+0

да, я упомянул об этом в UPDATE 1 – Alex

+0

oops !, извините, я пропустил это – tkanzakic

ответ

0

ИТАК ответ был, что я должен удалите «var» из каждого параметра в init. Зачем? idk

+0

Почему вы использовали 'var' в первую очередь? –