gpt4 book ai didi

ios - 将整数添加到索引处的数组对象时出错( objective-c )

转载 作者:行者123 更新时间:2023-12-01 18:39:01 24 4
gpt4 key购买 nike

在将整数添加到数组索引处的对象时,我收到“指向接口(interface) id 的指针的算术运算,这对于此体系结构和平台来说不是恒定大小”,不知道如何解决它。
请帮忙。

我的代码是 -

 if (arrayTotalAmount.count>0) {
int sum = 0;
for (int i = 0; i<=arrayTotalAmount.count; i++) {
sum = (sum+[arrayTotalAmount objectAtIndex:i]);

}

在第 4 行中,我收到了该错误。
谢谢

最佳答案

Objective C 数组只接受 NSObject类型。这意味着不可能将原始值插入到 NSArray 中。 .您收到错误是因为 objectAtIndex方法返回一个指向 NSObject 的指针,算术运算在指针上仍然有效,但问题是指针的大小为整数(32 位,64 位)可能在设备上有所不同。因此,解决方案之一是对指针 sum+(int)[arrayTotalAmount objectAtIndex:i] 进行类型转换。在你的情况下这没有任何意义。

您正在寻找的解决方案可能是 sum+[[arrayTotalAmount objectAtIndex:i] intValue]或类似的。假设数组包含 NSNumber对象。如果数组中的对象不是 NSNumber那么您的应用程序将在运行时失败,并显示一个指示对象 X 的错误没有名为 intValue 的方法在这种情况下,您需要弄清楚如何转换对象 X给您的int .

关于ios - 将整数添加到索引处的数组对象时出错( objective-c ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46538762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com