2015-03-06 2 views

Antwort

7

Ich sehe, der Code arbeitet mit einem einfachen float Typ. Und wenn ich für die Definition von CGFloat gejagt, fand ich diese:

#if defined(__LP64__) && __LP64__ 
# define CGFLOAT_TYPE double 
# define CGFLOAT_IS_DOUBLE 1 
# define CGFLOAT_MIN DBL_MIN 
# define CGFLOAT_MAX DBL_MAX 
#else 
# define CGFLOAT_TYPE float 
# define CGFLOAT_IS_DOUBLE 0 
# define CGFLOAT_MIN FLT_MIN 
# define CGFLOAT_MAX FLT_MAX 
#endif 

typedef CGFLOAT_TYPE CGFloat; 

So CGFloat ist jetzt eigentlich ein double, damit die Warnung.

+0

wie diese Warnung zu beheben? – vinny

+2

Verwenden Sie einfach 'fabs' anstelle von' fabsf'. – zoul

+0

"CGFloat" ist immer noch "float", wenn Sie für ein 32-Bit-Gerät kompilieren, das iPhone 5, iPhone 4s, iPad 2, ... enthält – benzado

13

Sie können fabs anstelle von fabsf verwenden.

Link

Verwandte Themen