这是我的LoginData Model Class:
class LoginData
{
var sessionToken : String!
init(fromJson json: JSON!)
{
if json == nil
{
return
}
sessionToken = json["Session_Token"].stringValue
}
}
我想在下面的类中为该类创建实例:
class Confirm
{
var modelobj = model()
// If I used to create instance I got error like this( **Missing argument for parameter 'fromJson' in call**) and how to create instance for this class
}
答案 0 :(得分:1)
正如其他人所说,这个初始化程序应该是可用的。 sessionToken
不再需要是隐式解包的可选项(String!
)。我还将代码格式化为Swift的惯例。
class LoginData {
var sessionToken: String
init?(fromJson json: JSON) {
guard let sessionToken = json["Session_Token"].stringValue else {
return nil
}
self.sessionToken = sessionToken
}
}
然后用:
实例化它guard let loginData = LoginData(fromJson: someJson) else {
//Initializer failed. Recover from error here.
//Must break, return, or call @noreturn function
}
//use loginData
您必须使用json参数调用初始化程序,因为没有没有参数的初始化程序。