专业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
属性