我要提交一系列图片。
var images = [NSData]()
我需要在提交这些图片之前检查它们的总大小;因为服务器的限制。
我已尝试过以下代码,但它没有给我实际尺寸。
if (images.description.lengthOfBytesUsingEncoding(NSUTF32StringEncoding) >= 3900000)
{
print("Max of images size reached")
} else {
// Continue
}
答案 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 }