У меня есть следующий код swift 3 в проекте xcode 8:
if pictureImg.image == nil {
print("image nil")
}
if pictureImg.image != nil {
print("image not nil")
}
if pictureImg.image != nil {
imageData = UIImageJPEGRepresentation(pictureImg.image!, 0.5)!
}
Во время выполнения я получаю в консоли странный результат:
image not nil
fatal error: unexpectedly found nil while unwrapping an Optional value
Итак, похоже, что мой pictureImg.image на самом деле равен нулю несмотря на мой предыдущий идентичный оператор if, говорящий об обратном. Проверяет, является ли UIImageJPEGRepresentation нулевым, также приводит к той же ошибке:
if UIImageJPEGRepresentation(pictureImg.img!, 0.5) == nil { *code* }
подтверждение того, что проблема определенно связана с pictureImg.image, по крайней мере, так кажется.
Есть ли немедленная / очевидная проблема с этим кодом или нужно будет сообщить больше информации о проекте?
UIImageJPEGRepresentation
nil
? Вы принудительно разворачиваете возвращаемое значение. Также вы должны использовать операторыif let
вместо проверкиnil
. - person JAL   schedule 01.02.2017