NSInteger
, NSUInteger
, CGFloat
и т. Д. Являются простыми типами и соответствуют int, unsigned int и float. NSNumber
является классом Objective C, подкласс NSValue
, чтобы быть определенным. Вы можете создать NSNumber
объект из знака или без знака char, short int, int, long int, long long int, float, double или BOOL.
Одним из основных отличий является то, что вы можете использовать NSNumber
в коллекциях, таких как NSArray
, где требуется объект. NSInteger
- это просто целое число, NSNumber
- это объект.
По соображениям производительности, если можете, используйте примитивные типы (например, int, float). Однако иногда вы не можете избежать NSNumber
,