2016-09-23 55 views
1

我有一系列要提交的图像。如何找出NSData数组的长度?

var images = [NSData]() 

我需要提交这些图片以检查它们的总大小;由于服务器的限制。

我试过下面的代码,但它没有给我实际的大小。

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

你想找到的NSData元素的数组中的号码,或大小个别的NSData对象? – Woodstock

+0

@Woodstock我知道是谁找到元素的数量,我只需要字节中所有图像的总大小。 –

回答

3

既然你正在寻找的数组中的所有元素NSData的总大小,你需要计算的总长度。这样做的一种方法是用reduce

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

这是编写一个循环的一小段路:

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

这真的对我很有用,谢谢。 –

2

试试这个:

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