我在这里遇到了一个奇怪的问题,我敢肯定这只是小问题。
我通过 JSON 接收有关文件的信息(RestKit 做得很好)。我通过 coredata 将每个文件的文件大小写入本地存储。
之后在我的一个视图控制器中,我需要总结数据库中所有文件的文件大小。我获取所有文件,然后通过一个斜率(for)来总结大小。
问题是现在,结果总是否定的!
coredata 实体文件大小的类型为 Integer 32(文件大小由 JSON 以字节为单位报告)。我在 NSArray 中读取了 fetchresult,allPublicationsToLoad
然后尝试总结。Type 的 NSArray 中的 ObjectsCDPublication
有一个 NSNumber 类型的值filesize
:
for(int n = 0; n < [allPublicationsToLoad count]; n = n + 1)
{
CDPublication* thePub = [allPublicationsToLoad objectAtIndex:n];
allPublicationsSize = allPublicationsSize + [[thePub filesize] integerValue];
sum = [NSNumber numberWithFloat:([sum floatValue] + [[thePub filesize] floatValue])];
单个 CDPublications 对象的每个单个文件大小都是正数且正确的。之后只有所有文件大小的总和为负。现在大约有 240 个对象,文件大小值介于 4000 和 234.645.434.123 之间。
有人可以给我一个正确的方向吗!?是 Integer 32 或 NSNumber 不能容纳这么大的范围的问题吗?
谢谢
疯狂的应用程序}