跳到主要内容

Objective-c 中的数字对象都有哪些?

参考答案:

在 Objective-C 中,数字对象主要属于 NSNumber 类。NSNumber 是一个用来封装基本数据类型的对象包装类。它可以用来封装如 NSIntegerCGFloatBOOLcharshortintlonglong longunsigned charunsigned shortunsigned intunsigned longunsigned long longfloatdouble 和其他一些数值类型的数据。

以下是一些常用的 NSNumber 工厂方法,用于创建不同类型的数字对象:

  • numberWithInteger:
  • numberWithFloat:
  • numberWithDouble:
  • numberWithBool:
  • numberWithChar:
  • numberWithShort:
  • numberWithInt:
  • numberWithLong:
  • numberWithLongLong:
  • numberWithUnsignedChar:
  • numberWithUnsignedShort:
  • numberWithUnsignedInt:
  • numberWithUnsignedLong:
  • numberWithUnsignedLongLong:

例如:

NSNumber *integerNumber = [NSNumber numberWithInteger:10];
NSNumber *floatNumber = [NSNumber numberWithFloat:3.14f];
NSNumber *boolNumber = [NSNumber numberWithBool:YES];

此外,你还可以使用 numberWithValue: 方法来根据给定的 C 数值类型创建 NSNumber 对象。例如:

NSNumber *number = [NSNumber numberWithValue:@(10)];

这里,@(10) 是 Objective-C 的字面量语法,用于创建 NSNumber 对象。

这些 NSNumber 对象可以用于多种场合,比如在集合类(如 NSArrayNSDictionary)中存储数字,或者在需要进行对象类型操作时处理数字。它们使得在需要对象而不是基本类型的地方能够方便地使用数字。