CGFloatType 1.3.1

CGFloatType 1.3.1

测试已测试
语言语言 Obj-CObjective C
许可证 BSD
发布最新版本2015年9月

Kyle Fuller 维护。



容易忘记,尽管名为 CGFloat,但其实际上是 double 类型。在 64 位系统中,如果 CGFLOAT_IS_DOUBLE 被设置为 1,它实际上将是 double。

当您开发一个需要在 32 位和 64 位系统上构建的单一代码库的应用程序时,例如在针对 32 位模拟器开发并部署 arm64 时,这可能会变得不方便。

CGFloatType 是一个简单的库,它提供了在 NSNumber 上处理这些方法的功能,并提供接受 CGFloat 的各种数学和舍入函数。

这可以帮助您将

#if CGFLOAT_IS_DOUBLE
  CGFloat points = ceil(pointsPerMinute * durationMinutes);
#else
  CGFloat points = ceilf(pointsPerMinute * durationMinutes);
#endif

转换为类似

CGFloat points = ceilCGFloat(pointsPerMinute * durationMinutes);

用法

#import <CGFloatType/CGFloatType.h>

@implementation Example

- (void)example {
    NSNumber *number = [NSNumber numberWithCGFloat:CGRectGetHeight(self.view.frame)];
    NSLog(@"NSNumber with value: %@", number);
    CGFloat value = [number CGFloatValue];

    CGFloat floorValue = floorCGFloat(value);
    CGFloat ceilValue = ceilCGFloat(value);

    NSLog(@"%@ (floor = %@, ceil = %@)", @(value), @(floorValue), @(ceilValue));
}

@end

安装

Podfile

pod 'CGFloatType'

许可证

CGFloatType 在 BSD 许可证下发布。参见 LICENSE