2016-09-23 5 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私は要素の数を知る人を知っています、私はByteのすべてのイメージの合計サイズが必要です。 –

答えて

3

あなたは、配列のすべての要素NSDataの合計サイズを探しているので、あなたは集計の長さを計算する必要があります。それを行う1つの方法は、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 } 
関連する問題