我有一个简单的代码,它将迭代整数数组但是当我尝试使用“for in”循环时,它说我需要有一个对象所以我使用了NSNumber,但为了让我的代码工作,它必须是一个int所以在循环之后,我让它将NSNumber转换为int。它给了我另一个错误,说我需要声明变量_ 强大才能使它工作所以我这样做但是现在它给了我这些错误:“不兼容的指向整数转换的指针发送'NSNumber * _strong'到“int”类型的参数和“ARC禁止将'int'隐式转换为'NSNumber *'”这是给出错误的代码:
for(__strong NSNumber *i in factors) {
i = [i intValue];
答案 0 :(得分:8)
您已经将“i
”声明为Objective C对象(特别是NSNumber对象)。
如果您想进行转换,请声明单独的和不同的变量,例如
int j;
并将整数设置为,例如:
j = [i intValue];