如何从NSArray获得NSNumber的总和?

Win*_*ton 24 iphone objective-c nsnumber nsarray nsinteger

我有一个像大等NSArray包含...NSNumbers3, 4, 20, 10, 1, 100,

如何将所有这些NSNumber的总和(3 + 4 + 20 + 10 + 1 + 100 + etc...)作为一个总和NSInteger

谢谢!

Pau*_*nge 157

你可以用这个:

NSArray* numbers = //array of numbers
NSNumber* sum = [numbers valueForKeyPath: @"@sum.self"];
Run Code Online (Sandbox Code Playgroud)

  • 这是最优雅的解决方案.文档:http://developer.apple.com/library/ios/ipad/#documentation/cocoa/conceptual/KeyValueCoding/Articles/CollectionOperators.html (5认同)

All*_*ian 20

NSInteger sum = 0;
for (NSNumber *num in myArray) {
  sum += [num intValue];
}
Run Code Online (Sandbox Code Playgroud)


fab*_*ier 7

long long sum = ((NSNumber*)[array valueForKeyPath: @"@sum.longLongValue"]).longLongValue;
Run Code Online (Sandbox Code Playgroud)