ATMLGG

Results 3 comments of ATMLGG
trafficstars

> 那遇到需要全部覆盖的要怎么处理 > 遇到一个需要覆盖, 另外一个不需要覆盖的又怎么处理 > > 这里你应该自己实现, 而不是使用 `mj_setKeysValues`, 这个方法不应该这样用. > 如果想自定义那么就自己实现一个. 1.如果需要覆盖,为什么不用类方法初始化?你这个是实例方法,不就是用来改写对象属性吗? 2.退一步说, mj_setKeyValues按你的说法是会覆盖老值的,为什么在mj_setKeyValues:context:方法的mj_enumerateProperties回调中,要判断value值是否为空,为空直接return?覆盖不应该是判断新值为nil,把老值置nil吗?对应到issue中的截图,parent.name赋值后应该为nil才对.同一个方法,父子节点效果不一致 3.归根结底是在赋值操作时,采用KVC,对MJPropertyType不属于Foundation框架时没有单独进行判断,而是在父节点逻辑中判断子节点不属于Foundation,通过mj_objectWithKeyValues:context:直接alloc了一个新的子模型,把新的模型直接赋值,未考虑嵌套情况 在第二张图中对子节点模型类型进行判断,再走一遍mj_setKeyValues中的逻辑就能够达到这个目的 虽然这个是开源项目,难免有不那么完美的地方,但还是希望各位大佬能够好好维护,目前已替换为YYModel 直接close issue可能看起来好看,但是问题并没有解决,望共勉

- 是否对外API有无明确标明?如果不对外,放umbralle.h让外部调用? - 同上,**不知道为什么一样的问题你那聪明的大脑要写两遍** - 我不开issue是因为**你解不解决这个问题我根本不在乎**,来提issue是想让这个项目更加完善,为什么YYModel性能更高更兼容,可不是因为随意的文档和不规范的代码,乐于接受各种建议是拉开与这个项目的差距的原因之一 ### 从你第一次回答就可以看出,这个项目的私有方法并没有那么私有,代码也没有那么规范,如果不想外部调用,请放好你的接口,完善你的文档和Readme,不要出了问题就说你怎么用这个方法,建议自己写一个公开方法(然而放眼望去就没有不公开的),似乎提一个完善文档和Readme的issue更加合适 > 最后,如果一个项目,今天你的需求能实现,明天他的需求也能兼容,这才是一个**好项目**

> 杰哥,我们拿到服务器的JSON数据后如何快速定义属性,有没有可以直接吧Json转换为Model的工具(非运行时,代码转换) 这个网上很多,自己动手搜一下就有