专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构
定义用户模型
新建
User模型类,创建属性class HMUser: NSObject { /// 用户UID var id: Int = 0 /// 友好显示名称 var name: String? /// 用户头像地址(中图),50×50像素 var profile_image_url: String? /// verified_type 没有认证:-1 认证用户:0 企业认证:2,3,5 达人:220 var verified_type: Int = -1 /// 会员等级 1-6 var mbrank: Int = 0 }User模型添加字典转模型// MARK: - 字典转模型 init(dict: [String: Any]) { super.init() // KVC赋值 setValuesForKeys(dict) }// 字典中的key在模型中没有对应的属性时调用 override func setValue(_ value: Any?, forUndefinedKey key: String) {}// 打印对象 override var description: String { let keys = ["id", "name", "profile_image_url", "verified_type", "mbrank"] return "\n\t\t:用户模型:\(dictionaryWithValues(forKeys: keys))\n" }

- 在
HMStatus中增加user属性/// 用户模型 var user: HMUser? 在
KVC字典转模型时,对user属性特殊处理,自己调用字典转模型并赋值给user属性override func setValue(_ value: Any?, forKey key: String) { // 如果是 user 属性 if key == "user" { // print("user: \(value)") if let dict = value as? [String: Any] { // 字典转模型 user = HMUser(dict: dict) } // 一定要记得 return return } super.setValue(value, forKey: key) }- 在
description属性里添加user属性