需要帮助将数组对象的值赋给变量

时间:2011-02-03 07:02:03

标签: iphone objective-c

int random=0;
int counter=0;
while(counter<25)
{   
    random=arc4random() % 40;
    BOOL flag=[array containsObject:[NSNumber numberWithInt:random] ];
    if(flag)
    {   
        counter--;
    }
    else
    {       
        [array addObject:[NSNumber numberWithInt:random]];
        int p=[array objectAtIndex:counter];    //**line4
        counter++;
    }   
}

在第4行收到警告,无法将数组对象的值赋给变量,请帮帮我 感谢

2 个答案:

答案 0 :(得分:1)

-objectAtIndex:返回一个对象 - 在您的情况下,返回NSNumber的实例。要将其转换为int,请使用-intValue方法。例如,替换

int p=[array objectAtIndex:counter];

int p=[[array objectAtIndex:counter] intValue];

答案 1 :(得分:0)

你必须做类型转换Nsnumber到int.For转换你可以使用IntValue metod.for了解更多关于基础数据类型使用apple的文档。

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_DataTypes/Reference/reference.html