Objective-C 无法将 NSNumber 转换为 int



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

for(__strong NSNumber *i in factors) {
        i = [i intValue];

你已经将"i"声明为目标C对象(特别是NSNumber对象)。

如果要进行转换,请声明一个单独的不同变量,例如

int j;

并将整数设置为该整数,例如:

j = [i intValue];

相关内容

  • 没有找到相关文章

最新更新