从NSarray设置int的值

时间:2014-09-21 15:56:45

标签: objective-c

如何将int设置为数组中的值? 我这样试试:

    int counter;
    counter = signArr[4];

不起作用,我得到一个错误的"指向整数转换的不兼容指针发送' int'到#id; id'类型的参数"

感谢帮助:)

1 个答案:

答案 0 :(得分:0)

根据您的评论,我们可以猜测该号码是在NSNumber个实例中装箱的。我们可以使用日志语句(或在调试器中)进行测试:

NSLog(@"The class is %@", NSStringFromClass[signArr[4] class]));

然后,如果它是NSNumber实例,查看提供的方法,我们可以看到integerValue,它将提供您正在寻找的内容。

您看到的错误

  

指向整数转换的不兼容指针将'int'发送到'id'类型的参数

告诉您,您需要int但是您拥有id。您应该知道id是ObjC中使用的通用指针类型(如果您不需要再去阅读the documentation),那么您需要找到一种从对象转换的方法指向原始int的指针。第一步是找出对象类类型是什么,然后检查文档以查看它为您提供的帮助以实现目标。