-2

计划我的模型以进行总计的最佳方法是什么?我应该使用数组还是字典?

在我的应用程序中,我希望能够在一段时间内汇总一组数字。假设我有 2 个文本字段,它们减去数字并提供总数。这很好,但我想通过点击一个按钮来获得所有的一切。

示例:用户输入

开始字段中的 256789 结束字段中的 256798

然后我得到总共9个。

我应该将九个保存在数组或字典中吗?我希望以后使用 9。

例如:

现在用户打开应用程序并在开始和结束字段中输入两个不同的数字,总共得到 20。

我怎样才能将 9 的总数加到 20 中。

跟踪这些数字的最佳方法是什么?

4

2 回答 2

0

您可以使用其中任何一个(NSDictionary 和 NSArray),请查看 KVC 指南:

http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html

您正在专门寻找 @sum 运算符,这是上面链接中的 @sum 部分:

@和

@sum 运算符返回由运算符右侧的键路径指定的属性值的总和。每个数字都转换为双精度数,计算值的总和,并将总数包装为 NSNumber 的实例并返回。如果键路径右侧的值为 nil,则忽略它。

以下示例返回交易中交易的金额属性的总和:

NSNumber *amountSum = [transactions valueForKeyPath:@"@sum.amount"];

生成的 amountSum 值(格式化)为 $5,935.00。

于 2013-05-03T20:30:47.450 回答
0

我会使用 Dictionary 因为它允许您分配自己的标签以供以后使用。一个简单的例子是:

[dict setObject:[NSNumber numberWithInt:42] forKey:@"Round 1 number A"];
[dict setObject:[NSNumber numberWithInt:12] forKey:@"Round 1 number B"];
[dict setObject:[NSNumber numberWithInt:54] forKey:@"Round 1 total"];

[dict setObject:[NSNumber numberWithInt:11] forKey:@"Round 2 number A"];
[dict setObject:[NSNumber numberWithInt:33] forKey:@"Round 2 number B"];
[dict setObject:[NSNumber numberWithInt:44] forKey:@"Round 2 total"];

ETC....

恕我直言,这使跟踪变得容易得多。

于 2013-05-03T23:49:28.153 回答