Closed pengpeng-wang closed 3 years ago
我看LKDB对UIColor的存储是存的RGBA的四个值,保留三位,这样会导致精度丢失,存的颜色和实际颜色不一样。 导致在取出重新转为UIColor的时候,我想要存的,和取出的不是一个UIColor色值,即CGColorEqualToColor(<#CGColorRef _Nullable color1#>, <#CGColorRef _Nullable color2#>)用这个函数判断对比则不同。
对于UIColor的存储,内部能否改成16进制存储。这样用户只需要定义UIColor的属性,存储和取值使用,就很方便了!
这个没啥办法,建议 使用自定义转换 来处理, 本身 UIColor 那层获取的都是 CGFloat 都存在精度丢失问题.
/***
我看LKDB对UIColor的存储是存的RGBA的四个值,保留三位,这样会导致精度丢失,存的颜色和实际颜色不一样。 导致在取出重新转为UIColor的时候,我想要存的,和取出的不是一个UIColor色值,即CGColorEqualToColor(<#CGColorRef _Nullable color1#>, <#CGColorRef _Nullable color2#>)用这个函数判断对比则不同。
对于UIColor的存储,内部能否改成16进制存储。这样用户只需要定义UIColor的属性,存储和取值使用,就很方便了!