如何找出NSData数组的长度?

时间:2016-09-23 14:59:16

标签: ios swift image nsdata

我要提交一系列图片。

var images = [NSData]()

我需要在提交这些图片之前检查它们的总大小;因为服务器的限制。

我已尝试过以下代码,但它没有给我实际尺寸。

if (images.description.lengthOfBytesUsingEncoding(NSUTF32StringEncoding) >= 3900000)
{
    print("Max of images size reached")
} else {
    // Continue
}

2 个答案:

答案 0 :(得分:3)

由于您要查找数组中所有NSData元素的总大小,因此需要计算聚合长度。一种方法是使用reduce

let totalLength = arr.reduce(0) {$0 + $1.length}

这是编写循环的简短方法:

var totalLength = 0
for let image in images {
    totalLength += image.length
}

答案 1 :(得分:2)

试试这个:

let totalLength = images.reduce(0) { $0 + $1.length }