【问题标题】:Trying to populate NSMutableArray but get implicit conversion of int to id is disallowed with arcarc 不允许尝试填充 NSMutableArray 但将 int 隐式转换为 id
【发布时间】:2014-02-19 17:53:33
【问题描述】:

我只是想将一系列数字添加到 NSMutableArray 但我收到了错误:

arc 不允许将 int 隐式转换为 id

resultArray = [[NSMutableArray alloc]init];

for (int i = 0; i <= 9; i++)
{
[resultArray addObject:i];
}

我做错了什么?

【问题讨论】:

    标签: ios objective-c nsmutablearray


    【解决方案1】:

    NSArrayNSMutableArray 只能保存对象,不能保存原始数据类型,例如 ints。因此,如果要将它们添加到数组中,则必须将它们包装在 NSNumber 中。您可以执行以下操作:

    [resultArray addObject:@(i)];
    

    这相当于做:

    [resultArray addObject:[NSNumber numberWithInt:i]];
    

    【讨论】:

    • @RichardGriffiths 是的,没问题。请记住,当您将它们从数组中取出时,它们是对象,而不是原始整数值,因此您需要在取出对象时调用 intValueintegerValue分别到intNSInteger
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多