【问题标题】:Adding integer values as contents of an array,iphone添加整数值作为数组的内容,iphone
【发布时间】:2010-02-03 06:59:25
【问题描述】:

我需要将一些整数值存储为数组的内容。但是当我尝试这样做时,它会发出警告, 传递 'addObject' 的参数 1 使指针从整数而不进行强制转换。 显然该值没有存储在数组中。 这是代码。

NSUInteger i;
for (i=0;i<5;i++){
 [array addObject:i];}

【问题讨论】:

    标签: iphone arrays integer


    【解决方案1】:

    NSArray-s 不能存储非id 对象。你必须把它装箱成​​NSNumber:

    NSUInteger i;
    for (i=0;i<5;i++) {
       [array addObject:[NSNumber numberWithUnsignedInteger:i]];
    }
    

    或者使用带有自定义回调的CFArray(但是为了性能牺牲了可读性),或者使用std::vector&lt;NSUInteger&gt;(但是你需要使用Objective-C++)。

    【讨论】:

    • @Nithin:您可以从NSNumber-unsignedIntegerValue 获得NSUInteger
    • 请举个例子。
    • NSUInteger anInt = [[array objectAtIndex:0] unsignedIntegerValue];
    猜你喜欢
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2018-04-22
    • 2012-09-01
    • 2015-09-01
    • 1970-01-01
    相关资源
    最近更新 更多