UIImage to NSData致命错误:在展开Optional值时意外发现nil

时间:2016-08-03 02:00:52

标签: ios swift uiimage

我使用NSDataUIImage从photolibrary转换为NSData但它给出了。

  

错误致命错误:在展开Optional时意外发现nil   值

以下是我的代码

if(o.count == 1)
{//o is [UIImage]
    let imgdata:NSData? = UIImageJPEGRepresentation(self.o[0], 10)
    print(o[0]) //it show <UIImage: 0x14e123cb0>, {30, 40}
    print(imgdata)
}

1 个答案:

答案 0 :(得分:0)

如果o.count == 0,则数组为空。所以你试图从空数组创建NSData

UIImageJPEGRepresentation(self.o[0], 10)

更安全

if let imgdata = UIImageJPEGRepresentation(self.o[0], 10) {
   ...
}

因此,如果您的应用返回nil,则不会崩溃。 Swift知道UIImageJPEGRepresentation返回NSData,所以你不需要if语句中的:NSData?

希望这有帮助!