我以此线程为基础
我上下一堂课:
TokenModel.swift
<canvas id="canvas" width="400" height="400"></canvas>
MyObjective.m
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]?
}
没有显示任何方法(除解码器外)
在这里,我定义了一个简单的方法,该方法在TokenModel * tm = [[TokenModel alloc] init];
上实现。
但是,目前要在我的Swift
项目中使用它,唯一可见的方法是Objective-C
。
我还尝试了什么?
encode(with aCoder: NSCoder)
(不带参数)。required public init()
。aDecoder
但是,这些方法没有出现在我的init(demo:NSString)
类中。
有人知道我如何使用Objective C
导入自定义init吗?