-
Notifications
You must be signed in to change notification settings - Fork 607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
My suggestion: Use Codable instead it #461
Comments
价值?有没有价值难道用户不懂?苹果的api有多难用你是不知道吗?万倍好用是谁得出来的?你知道Codable很容易闪退吗?Codable没有didFinishMapping方法,Codable需要自己写decoder,Codable对字段类型强依赖,假设某个字段跟后端对应不上就闪退了。是 |
你所谓的Codable闪退是因为前后端类型定义不规范, 或者没正确的try-catch吧. 类型问题可以搞AnyTypeCodable自己做兼容,当然最好是前后端遵守约定. |
遵守约定?你觉得这四个字能约束的住谁?而且一个字段变动就能导致你客户端闪退,这合适吗?难道要把所有字段标记为可选吗? |
Codable有异常捕获啊,我哪里说会crash了,Codable我确实从没crash过,团队其他人使用这个库导致系统升级而crash,我说最好都遵守约定,这样就不会异常,更不会crash。 |
最好遵守约定,这句话跟没说其实是一样的,没有人会在意你一个前端的想法,指不定谁改了个字段就导致客户端出问题了。 |
”我大多数情况去修改模型属性时,都是希望在页面间传来传去,我本来就需要去修改它”,一般来说你不应该修改原值,这个做法是不对的。 |
对,不应该在解析过程中互转,会丢失信息。(要不咱不骂人?) |
转过后你得到了123,但你永远也得不到原值了,原值是”123.0”还是”0123”,你不知道 |
你只应该在自己的使用场景做自己所需的转换,你不能确定是否别的场景会使用原值做别的操作 |
"123"和123不应该互转?你是没用过JSON解析框架?或者是没有使用过其他语言?你在闭包里面多写两行代码,Xcode就识别不出来返回值类型了...强类型语言是只有Swift一家吗?为什么Java,TS甚至是Dart都没有Swift这些毛病? |
到此为止 |
#466 作者现在都不再推荐使用了.. |
这个当时看到了,新项目不再使用,但是还有那么多老项目啊...作者因为没有精力维护所以不再推荐使用,我觉得这个跟易用性是不冲突的 |
唉,只能希望 iOS 更新的时候 不要做太多变动了,要是在崩溃,真心吃不大消的.. |
KaKaJson 还能用不 |
可以考虑使用 SmartCodable,https://github.com/intsig171/SmartCodable 。 基于系统Codable解析能力,针对 字段缺失/字段类型不匹配/字段值为null的情况 进行了兼容。并且提供了didFinishMapping方法。 |
使用Codable
The text was updated successfully, but these errors were encountered: