将int添加到NSMutableArray initWithCapacity

时间:2013-05-10 16:52:15

标签: objective-c nsmutablearray int

我正在尝试创建一个包含两个整数的可变数组

@interface ViewController ()
{
    NSMutableArray *myArray;  
}

初始化为两个对象的容量

- (void)viewDidLoad
{
    [super viewDidLoad];
    myArray = [[NSMutableArray alloc]initWithCapacity:2];
    [self addIntToArray];
}

当我尝试将一个整数添加到我的数组

- (void)addIntToArray
{
    [myArray addObject:3];
}

我收到以下错误,尽管之前遇到此问题并且找不到解决方法现在无法这样做。

Implicit conversion of 'int' to 'id' is disallowed in ARC.

我尝试将int投射到id并收到错误消息,指出我无法做到这一点。我还尝试仅使用init初始化数组,但仍然无法将整数添加到数组中。你能告诉我如何实现我想要做的功能吗?谢谢。

2 个答案:

答案 0 :(得分:1)

NSArray只能保留对象。要存储数值,请考虑将int包装到NSNumber对象中。

答案 1 :(得分:0)

将任何int存储在数组中使用

[yourArray addObject:[NSNumber numberWithInt:YOUR_VALUE]];