2015-04-02 78 views
2

我有一个NSData数组中的图像数组。如何将它们全部转换为图像数组而不用手动操作?我用这行代码(let yourImage = UIImage(data:NsdataArray)如何将NSData对象转换为UIImage?使用Swift

var NsdataArray:[AnyObject] = [image1, image2, image3] 
//convert everything to this array 
var imageArray:[UIImage] = [UIImage]() 
+0

只需使用一个简单的for循环。 – zaph 2015-04-02 14:46:47

+0

我如何为此做一个for循环? – 2015-04-02 14:47:11

回答

3

试试这个var imageArray = NsdataArray.map({UIImage(data: $0)})

4
var imageArray = NsdataArray.map({UIImage(data: $0)}) 

OR

var imageArray = [UIImage]() 

    for data in NsdataArray { 
     if let img = UIImage(data: data){ 
      imageArray.append(img) 
     } 
    } 
+2

如果在数据中创建“UIImage”时发生错误会怎么样? – zaph 2015-04-02 16:03:43

+0

我更新了我的答案 – 2015-04-02 16:50:15

2

for循环的解决方案:

var NsdataArray:[AnyObject] = [image1, image2, image3] 
//convert everything to this array 
var imageArray:[UIImage] = [UIImage]() 

for aData in NsdataArray { 
    var image = UIImage(data: aData as? NSData) 
    if let _image = image { 
     imageArray.append(_image) 
    } else { 
     //error when convert to UIImage 
    } 
}