指向整数转换的指针不兼容将'id'发送到'int'类型的参数

时间:2014-03-08 17:31:42

标签: ios objective-c

我想这很简单,但我找不到解决方法......

我有这样的方法

- (int)showQuestionMethod:(int)number;

我正在循环中创建NSMutableOrderedSet,这样可以正常工作。

while (count < numberOfQuestionsInTest) {
    randomQuestionNumber = 0 + arc4random() % (numberOfQuestions - 0);
    [_randomQuestionNumberArray addObject:[NSDecimalNumber numberWithInt:randomQuestionNumber]];
     count = [_randomQuestionNumberArray count];
}

然后,当我想用​​这一行调用一个方法时,我得到一个错误(不兼容的指向整数转换的指针,将'id'发送到'int'类型的参数)

int showQuestion = 0;
[self showQuestionMethod:_randomQuestionNumberArray[showQuestion]];

有人能提供解决方案吗?谢谢!

1 个答案:

答案 0 :(得分:4)

您的_randomQuestionNumberArray包含NSDecimalNumber个实例。但是您的方法需要int参数。你需要正确转换它们:

[self showQuestionMethod:[_randomQuestionNumberArray[showQuestion] intValue]];