Я беру за основу эту тему:
быстрый инициал не виден в объективе-C
И у меня есть следующий класс:
TokenModel.swift
public class TokenModel: NSObject, NSCoding, Codable {
required public init(usuario:String?, tokenSesion:String?, nombreCompleto:String?, cliente:String?, paises:[PaisModel]?) {
Usuario = usuario
TokenSesion = tokenSesion
NombreCompleto = nombreCompleto
Cliente = cliente
Paises = paises
}
public init(coder aDecoder: NSCoder) {
Usuario = aDecoder.decodeObject(forKey: "Usuario") as? String
TokenSesion = aDecoder.decodeObject(forKey: "TokenSesion") as? String
NombreCompleto = aDecoder.decodeObject(forKey: "NombreCompleto") as? String
Cliente = aDecoder.decodeObject(forKey: "Cliente") as? String
Paises = aDecoder.decodeObject(forKey: "Paises") as? [PaisModel]
}
public func encode(with aCoder: NSCoder) {
aCoder.encode(Usuario, forKey: "Usuario")
aCoder.encode(TokenSesion, forKey: "TokenSesion")
aCoder.encode(NombreCompleto, forKey: "NombreCompleto")
aCoder.encode(Cliente, forKey: "Cliente")
aCoder.encode(Paises, forKey: "Paises")
}
public var Usuario:String?
public var TokenSesion:String?
public var NombreCompleto:String?
public var Cliente:String?
public var Paises:[PaisModel]?
}
MyObjective.m
TokenModel * tm = [[TokenModel alloc] init];
Нет методов (кроме aDecoder) отображаются
Там я определил простой метод, который реализован на Swift
.Но на данный момент, чтобы использовать его в моем Objective-C
проекте, единственный видимый метод - encode(with aCoder: NSCoder)
.
Что еще я пробовал?
- Я пытался создать
required public init()
(без параметров). - Удаление
aDecoder
. - Создание метода
init(demo:NSString)
Но эти методы не отображаются на моем Objective C
class.
Кто-нибудь знает, как я могу импортировать свой пользовательский init, используя Objective-C
?