ios中总数的问题

时间:2013-05-03 20:16:34

标签: iphone ios

规划模型总数的最佳方法是什么?我应该使用数组还是词典?

在我的应用中,我希望能够在一段时间内累计一组数字。假设我有2个textFields来减去数字并提供总数。这工作正常,但我想通过按一下按钮来获取所有内容。

示例:用户输入

开始字段中的

256789 256798在结尾字段

然后我得到总数为9.

我应该在一个关键字总数的数组或字典中保存九个吗? 我想在以后使用9。

例如:

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

如何添加9到20的总数。

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

2 个答案:

答案 0 :(得分:0)

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

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

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

  

@sum

     

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

     

以下示例返回事务中事务的amount属性的总和:

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

结果的amountSum值(格式化)为$ 5,935.00。

答案 1 :(得分:0)

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

[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"];

等...

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