首先没有必要使用一个类,一个结构就足够了。
与failable初始化期待一个JSON字符串和可变jsonRepresentation
struct Credentials {
var username = ""
var password = ""
init(username: String, password:String) {
self.username = username
self.password = password
}
init?(json : String) {
guard let data = json.data(using: .utf8),
let jsonDict = try? JSONSerialization.jsonObject(with: data, options: []) as? [String:String],
let username = jsonDict?["username"],
let password = jsonDict?["password"] else { return nil }
self.username = username
self.password = password
}
var jsonRepresentation : String {
let jsonDict = ["username" : username, "password" : password]
if let data = try? JSONSerialization.data(withJSONObject: jsonDict, options: []),
let jsonString = String(data:data, encoding:.utf8) {
return jsonString
} else { return "" }
}
}
请告诉我这个问题的简单解决方案?只是为他们制定方法?你可以用json初始化该类 – Tj3n
通常在Objective-C中,我们声明(和代码)' - (id)initWithJSONDict:(NSDictionary *)jsonDict'并且对于转换,它依赖于(字符串表示,NSData之一,字典之一? – Larme