2016-09-23 78 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 }