Skip to content

Releases: iAmMccc/SmartCodable

V5.0.2

08 May 11:56

Choose a tag to compare

V5.0.2更新说明

【新增】支持继承!

【新增】支持继承!

【新增】支持继承!

class BaseModel: SmartCodable {
    var name: String = ""
    
    required init() { }
}

@SmartSubclass
class SubModel: BaseModel {
    var age: Int = 0
}

V4.4.0

06 May 09:03

Choose a tag to compare

V4.4.0更新说明

【新增】提供属性包装器 @SmartHexColor,用来修饰UIColor.

【新增】提供属性包装器 @SmartDate,用来修饰Date类型。

【优化】优化CGFloat的实现代码。

【优化】提升解析性能。

【修复】某些场景下未使用初始化值的情况。

【修复】修复[Any] 类型 encode 时,transformer.toJSON不调用问题。

【删除】删除SmartColor类型,减少自创的类型。

优化@SmartFlat的encode实现

28 Mar 09:00

Choose a tag to compare

V4.3.0: 日志系统大升级

25 Nov 08:49

Choose a tag to compare

  1. 优化日志性能,减少遍历。
  2. 优化属性日志的信息表达。
  3. 支持日志的导出,如有需求可以上传服务器。
  4. 优化日志格式:unkeyedContainer的解析格式化;格式的优化。
================================  [Smart Sentinel]  ================================
Array<SomeModel> 👈🏻 👀
   ╆━ Index 0
      ┆┄ a: Expected to decode 'Int' but found ‘String’ instead.
      ┆┄ b: Expected to decode 'Int' but found ’Array‘ instead.
      ┆┄ c: No value associated with key.
      ╆━ sub: SubModel
         ┆┄ sub_a: No value associated with key.
         ┆┄ sub_b: No value associated with key.
         ┆┄ sub_c: No value associated with key.
      ╆━ sub2s: [SubTwoModel]
         ╆━ Index 0
            ┆┄ sub2_a: No value associated with key.
            ┆┄ sub2_b: No value associated with key.
            ┆┄ sub2_c: No value associated with key.
         ╆━ Index 1
            ┆┄ sub2_a: Expected to decode 'Int' but found ’Array‘ instead.
   ╆━ Index 1
      ┆┄ a: No value associated with key.
      ┆┄ b: Expected to decode 'Int' but found ‘String’ instead.
      ┆┄ c: Expected to decode 'Int' but found ’Array‘ instead.
      ╆━ sub: SubModel
         ┆┄ sub_a: Expected to decode 'Int' but found ‘String’ instead.
      ╆━ sub2s: [SubTwoModel]
         ╆━ Index 0
            ┆┄ sub2_a: Expected to decode 'Int' but found ‘String’ instead.
         ╆━ Index 1
            ┆┄ sub2_a: Expected to decode 'Int' but found 'null' instead.
====================================================================================

V4.2.6更新说明

31 Oct 02:00

Choose a tag to compare

【优化】优化继承关系下的父类属性的解析。
【新增】SmartAny支持修饰Model类型。

优化KeyMap映射关系

18 Oct 11:01

Choose a tag to compare

4.2.5

优化key的自定义映射规则

V4.2.3-BugFix 发布公告

12 Oct 11:19

Choose a tag to compare

【BugFix】修改非基本数据类型的自定义解析的失效问题。
【BugFix】修复key的映射关系中,当前值为null的判断错误问题。
【新功能】提供FastTransformer快捷ValueTransformer

CodingKeys.name <--- FastTransformer<String, String>(fromJSON: { json in
    "abc"
},toJSON: { object in
    "123"
})

V4.1.12 发布公告

27 Sep 08:53

Choose a tag to compare

  1. 【新功能】支持Combine,允许 @ Published修饰的属性解析。
  2. 【新功能】支持@igonreKey修饰的属性在encode时,不出现在json中(屏蔽这个属性key)
  3. 【新功能】支持encode时候的options,同decode的options使用。
  4. 【优化】Data类型在decode和encode时,只能使用base64解析.

4.1.7 - BugFix

27 Aug 09:30

Choose a tag to compare

"Fixed the crash issue when entering compatibility logic due to parsing failure, and added handling for cases where the data is NaN or exceeds the Int type range."
修复了解析失败时进入兼容逻辑导致的crash问题,针对数据为NaN或超出Int类型长度的情况进行了处理。

4.1.3 - SmartUpdater

29 Jul 06:56

Choose a tag to compare

Optimize implementation of SmartUpdater.