2016-09-23 3 views
1

제출할 이미지가 있습니다.NSData 배열의 길이를 찾는 방법은 무엇입니까?

var images = [NSData]() 

이미지를 제출하기 전에 전체 크기를 확인해야합니다. 서버 제한 때문에

다음 코드를 시도했지만 실제 크기를 제공하지 않습니다.

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

당신이 배열을 NSData 요소의 수 또는 크기를 찾으려면 수행

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

이 루프를 작성하는 간단한 방법입니다 개별 NSData 객체? – Woodstock

+0

@Woodstock 엘리먼트의 수를 알 수있는 사람을 알고, Byte의 모든 이미지의 전체 크기가 필요합니다. –

답변

3

당신이 배열의 모든 NSData 요소의 전체 크기를 찾고 있기 때문에, 당신은 총 길이를 계산해야합니다. 그 일을하는 한 가지 방법은 reduce 함께 :

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

이것은 정말로 나를 위해 일했습니다. 감사합니다. –

2

이 시도 :

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