jjzjj

encodeCGPoint

全部标签

ios - 使用 NSCoder 对 CGPoint 进行全精度编码

在我的iOS应用程序中,我有一个使用CGPoints构建的形状类。我使用encodeCGPoint:forKey将它保存到一个文件中。我读回去了。一切正常。但是,我读入的CGPoint值与我保存的值并不完全相等。CGFloat值的低位不稳定。所以CGPointEqualToPoint返回NO,这意味着我的isEqual方法返回NO。这给我带来了麻烦和痛苦。显然,精确地序列化float从一开始就是一件麻烦事。但在这种情况下,最好的方法是什么?我能想到几个:使用encodeFloat而不是encodeCGPoint写出x和y值(这会有帮助吗?)在保存它们之前将我的x和y值乘以256.0(它