答案 0 :(得分:2)
首先,结构和类名应以大写字母
开头您的代码暗示JSON提供所有值,因此没有可选项。
如果有初始化程序,使用默认值声明属性是非常糟糕的习惯。声明var name : String
完全没问题。
class User {
var name : String
var uname : String
var email : String
var phone : String
var address : UserAddress
var company : UserCompany
init(userJSON : JSON) {
self.name = userJSON["name"].stringValue
self.uname = userJSON["username"].stringValue
self.phone = userJSON["phone"].stringValue
self.email = userJSON["email"].stringValue
self.address = UserAddress(addressJSON:userJSON["address"])
self.company = UserCompany(companyJSON:userJSON["company"])
}
}
class UserAddress { ...
class UserCompany { ...
注意:
在Swift 4中JSONDecoder
比SwiftyJSON