不兼容指向整数转换的指针,将'id'发送给'int'types的参数

我想这很简单,但我找不到解决这个问题的方法。

我有这样的方法

- (int)showQuestionMethod:(int)number; 

我正在循环创buildNSMutableOrderedSet这样工作正常。

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

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

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

谁能提供解决scheme? 谢谢!

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

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