1.通过class_copyIvarList拿到各个成员变量的ivar列表;
2.遍历,通过ivar_getName获取该成员变量的名字;
3.最后通过键值编码obj.setValue(nil, forKey: iVarName)将成员变量的值置为空。
值得注意的是,纯swift的对象是不支持runtime的,所以通过class_copyIvarList拿不到ivar列表,只有成员变量被标记为@objc的才能使用runtime。
1.通过class_copyIvarList拿到各个成员变量的ivar列表;
2.遍历,通过ivar_getName获取该成员变量的名字;
3.最后通过键值编码obj.setValue(nil, forKey: iVarName)将成员变量的值置为空。
值得注意的是,纯swift的对象是不支持runtime的,所以通过class_copyIvarList拿不到ivar列表,只有成员变量被标记为@objc的才能使用runtime。