我正在开发一个项目,我将一些值(在我的数据库中存储为float)下载到我的数组中并对它们求和。我可以NSLog数字但不幸的是我有最难的时间在我的数组中总结这些值。
添加一些代码
DETAILS.H
#import <Foundation/Foundation.h>
@interface Details: NSObject
@property (nonatomic, strong)NSNumber *min;
//@property (nonatomic, strong) NSString *min;
@end
只是我将值放在数组
中的代码部分for (int i = 0; i < jsonArray.count; i++)
{
NSDictionary *jsonElement = jsonArray[i];
tempDetails *downloadTemps = [[tempDetails alloc] init];
downloadTemps.min = jsonElement[@"min"];
// Add this question to the locations array
[_locations addObject:downloadTemps];
}
查看控制器代码
for (Details *sav in _importArray )
{
NSLog(@"High :- %@ ", sav.min); //THIS LIST ALL MY VALUES CORRECTLY
}
NSMutableArray *newArray = [_importArray mutableCopy];
int totalSum = 0;
for(int i=0; i<[newArray count];i++)
{
totalSum = totalSum + [[newArray objectAtIndex:i] intValue];
}
NSLog(@"Total:%d",totalSum);
在视图控制器中,我收到错误 [详情intValue]:发送到实例的无法识别的选择器, 我假设我得到这个错误,因为min没有被宣布为正确,但我不确定如何做其他明智的。任何提供的帮助将不胜感激。
谢谢
答案 0 :(得分:1)
您要求选择器intValue
,但您应该要求选择器min
。
totalSum = totalSum + [[[newArray objectAtIndex:i] min] intValue];
你发布的第一个街区非常接近:
for (Details *sav in _importArray )
{
NSLog(@"High :- %@ ", sav.min); //THIS LIST ALL MY VALUES CORRECTLY
}
然后:
int totalSum = 0;
for (Details *sav in _importArray )
{
totalSum += [sav.min intValue];
}
顺便说一下,你为什么要求intValue
你最初写的东西是浮点数?