规划模型总数的最佳方法是什么?我应该使用数组还是词典?
在我的应用中,我希望能够在一段时间内累计一组数字。假设我有2个textFields来减去数字并提供总数。这工作正常,但我想通过按一下按钮来获取所有内容。
示例:用户输入
开始字段中的256789 256798在结尾字段
然后我得到总数为9.
我应该在一个关键字总数的数组或字典中保存九个吗? 我想在以后使用9。
例如:
现在,用户打开应用程序并在开始和结束字段中键入两个不同的数字,总共得到20个。
如何添加9到20的总数。
跟踪这些数字的最佳方法是什么?
答案 0 :(得分:0)
您可以使用其中任何一种(NSDictionary和NSArray),查看KVC指南:
您正在寻找@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"];
等...
这使得跟踪变得更容易,恕我直言。