Fáb*_*rez 9 c objective-c foundation
使用Foundation Framework中的NSNumber而不是基本C类型(int,float,double)有什么好处?
使用NSNumber:
NSNumber *intNumber;
NSInteger myInt;
intNumber = [NSNumber numberWithInteger: 100];
myInt = [intNumber integerValue];
Run Code Online (Sandbox Code Playgroud)
使用纯C:
int intNumber;
intNumber = 100;
Run Code Online (Sandbox Code Playgroud)
使用C似乎更容易和经济.
我知道NSNumber是一个对象(或类?)类型,但为什么我会使用它们而不是简单的C变量?我应该什么时候使用它们?
Bol*_*ock 18
其目的NSNumber仅仅是在对象(指针类型)中包含原始类型,因此您可以在需要指针类型值的情况下使用它们.
一个常见示例:NSNumber如果要在Core Data实体中保留数值,则必须使用.
您可以而且应该使用基元进行计算(除非使用小数,在这种情况下您使用NSDecimal或NSDecimalNumber).