Objective-C无法将NSNumber转换为int

时间:2014-04-03 02:10:23

标签: objective-c arrays integer int automatic-ref-counting

我有一个简单的代码,它将迭代整数数组但是当我尝试使用“for in”循环时,它说我需要有一个对象所以我使用了NSNumber,但为了让我的代码工作,它必须是一个int所以在循环之后,我让它将NSNumber转换为int。它给了我另一个错误,说我需要声明变量_ 强大才能使它工作所以我这样做但是现在它给了我这些错误:“不兼容的指向整数转换的指针发送'NSNumber * _strong'到“int”类型的参数和“ARC禁止将'int'隐式转换为'NSNumber *'”这是给出错误的代码:

for(__strong NSNumber *i in factors) {

        i = [i intValue];

1 个答案:

答案 0 :(得分:8)

您已经将“i”声明为Objective C对象(特别是NSNumber对象)。

如果您想进行转换,请声明单独的和不同的变量,例如

int j;

并将整数设置为,例如:

j = [i intValue];