IOS-CGFloatとFloatの違い

1310 ワード

CGFloat is just a typedef for either float or double.
typedef float CGFloat;// 32-bit
typedef double CGFloat;// 64-bit

64ビットマシンの互換性が必要なプログラムにはCGFloatが必要ですが、長期的にはできるだけCGFloatを使うことをお勧めします.32ビットではfloatに比べてmemory footprintの消費が増加したが.
これと同様のintとNSIntegerの違いは、NSIntegerがlongまたはintのtypedef、NSUIntegerがunsigned longまたはunsigned intのtypedefである.この2つはNSObjCRuntime.hで定義します.
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedeflong NSInteger;
typedefunsignedlong NSUInteger;
#else
typedefint NSInteger;
typedefunsignedint NSUInteger;
#endif