gpt4 book ai didi

iphone - 通过核心数据计算小数值的总和无法正常工作?

转载 作者:行者123 更新时间:2023-12-03 20:17:11 26 4
gpt4 key购买 nike

我是第一次发帖,如果我没有正确遵守所有规则,请多多包涵。

我正在为 iPhone (OS 3.1) 编写一个应用程序,并尝试编写一些代码来添加小数。我有一个名为 SimpleItem 的核心数据实体,带有 amount 属性。这是我写的测试用例:

// Create and configure objects
SimpleItem *si1 = [self createSimpleItem:@"si1"];
si1.amount = [NSDecimalNumber decimalNumberWithMantissa:1000 exponent:0 isNegative:NO];
SimpleItem *si2 = [self createSimpleItem:@"s12"];
si2.amount = [NSDecimalNumber decimalNumberWithMantissa:2000 exponent:0 isNegative:NO];
// Need to save prior to fetching results with NSDictionaryResultType (known limitation)
[self save];

// Describe fetch request
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"SimpleItem" inManagedObjectContext:self.context];
[request setEntity:entityDescription];
[request setResultType:NSDictionaryResultType];

NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"amount"];
// For whatever reason, evaluating this expression here is absolutely not working. Probably decimals aren't handled properly.
NSExpression *sumAmountExpression = [NSExpression
expressionForFunction:@"max:"
arguments:[NSArray arrayWithObject:keyPathExpression]];

NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName:@"amount"];
[expressionDescription setExpression:sumAmountExpression];
[expressionDescription setExpressionResultType:NSDecimalAttributeType];
[request setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];

// Fetch the amounts
NSError *error = nil;
NSArray *array = [self.context executeFetchRequest:request error:&error];

如果我通过 otest 执行此代码并对其进行调试,则在执行获取请求时会出现异常:“-[NSDecimalNumber count]:无法识别的选择器已发送到实例。”

不过,仅在没有聚合函数的情况下评估 keyPathExpression 就可以正常工作。

reference documentation显示了完全相同的示例,所以我想知道我做错了什么。或者这可能只是一个错误?

祝一切顺利,哈拉尔德

最佳答案

将给定的源代码复制到一个新的 iPhone 项目并在模拟器中运行它在这里工作得很好。我在 Snow Leopard 上针对 3.1.2 SDK 进行编译。

这是我用于数据模型的内容:

model description http://homepage.mac.com/aclark78/.Public/Pictures/test%20model.png

肯定还有其他原因导致了您的问题。您能描述您的模型或进一步简化它吗?

关于iphone - 通过核心数据计算小数值的总和无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696735/

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