Быстрая инициализация не видна из Objective-C - PullRequest
0 голосов
/ 23 октября 2018

Я беру за основу эту тему:

быстрый инициал не виден в объективе-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?

...