Objective c 可以将int值分配给id type+;目标c

Objective c 可以将int值分配给id type+;目标c,objective-c,Objective C,我想知道这个作业是否正确 id var = 9; var将被分配值9,还是我们必须包装在一些包装类中,如NSNumber?这是可能的,但不正确: warning: initialization makes pointer from integer without a cast id是指向对象的指针,而不是整数 您是否打算使用地址9提供的物品?你不太可能被允许那样做 您是否只想使用id容器来携带整数?您应该改用NSNumber 您是否希望分配将创建一个包含9的对象?这样不行 9是一个整数文本

我想知道这个作业是否正确

id var = 9;

var将被分配值9,还是我们必须包装在一些包装类中,如NSNumber?

这是可能的,但不正确:

warning: initialization makes pointer from integer without a cast
id
是指向对象的指针,而不是整数

  • 您是否打算使用地址9提供的物品?你不太可能被允许那样做
  • 您是否只想使用
    id
    容器来携带整数?您应该改用
    NSNumber
  • 您是否希望分配将创建一个包含9的对象?这样不行

9是一个整数文本,它不是一个对象<代码>id是指向对象的指针。如果需要将整数作为对象传递(键入
id
),则必须将其包装在
NSNumber
对象中,如下所示:

id var = [NSNumber numberWithInteger: 9];

id-var=@9也有效<代码>@9
相当于
[NSNumber Number Withint:9]