swift 反射机制,判断属性类型

请问在swift中怎样通过Mirror反射获取属性类型,或者获取属性?

要求示例:

class PersonalModel: BaseModel {
    
    var nick: String?
    var header: String?
    var sex = 0
    var validate: PersonalValidateModel?
}

如上代码,所有的模型都继承自BaseModel,我想在BaseModel中重写init方法,使得能够实现json转模型(由于使用SwiftyJSON传入解析,不便使用其他第三方库,或者字典方法);

问题:
模型中,大部分属性是可选参数,使用Any.Type或者displayStyle都不知道如何判断可选类型到底是String,Int,Class??? -- 此处求高人指教;
要求:
模型中有关联模型和数组,所以必须在setValue中判断属性类型,从而进行赋值操作;如果有其他思路,忘大神提供帮助。感谢

阅读 4.3k
1 个回答

反射可以使用Objective-C的
从NSObject继承 就没问题了
更好的方法 我也没怎么研究 有的话 不妨告诉我下~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进