фатальная ошибка: неожиданно найден ноль при развертывании необязательного значения - swift 3 [дубликата]

-2

мой вопрос не дублируется, потому что я читал их раньше.

мой код:

var str_images = "http://kashanmap.ir/images/apk_images/off/33/Cta_off _1_.jpg ,http://kashanmap.ir/images/apk_images/off/33/Cta_off _2_.jpg ,http://kashanmap.ir/images/apk_images/off/33/Cta_off-_4_.jpg"

    for one_img in multi_img{
        print("one: \(one_img)")
        var img = one_img

        //self.imgs_slider.append(img)
        let alamofireSource = AlamofireSource(urlString: img)!
        images.append(alamofireSource)
    }

мой консольный журнал:

one: http://kashanmap.ir/images/apk_images/off/33/Cta_off _1_.jpg 
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 

Изображение 174551

Я изменил эту строку:

        var img = one_img

чтобы:

        var img = one_img?

или же

        var img = one_img!

но Xcode показывает красный цикл для удаления ? или ! ,

  • 0
    Откуда берется multi_img ? Ошибка возникает из-за того, что в строках есть символ неэкранированного пробела, который прерывает создание URL-адреса. И это не Javascript, имена переменных должны выглядеть как oneImg а не one_img
Теги:
xcode
swift3

1 ответ

2
Лучший ответ

Что вы должны изменить, так это:

let alamofireSource = AlamofireSource(urlString: img)!

Смотрите ! в конце? Если AlamofireSource(urlString: img) равен нулю, он сработает.

Чтобы исправить это, просто используйте необязательную привязку:

if let alamofireSource = AlamofireSource(urlString: img) {
    images.append(alamofireSource)
}

Ваши URL-адреса также недействительны. У них не может быть пробелов в них, поэтому, чтобы исправить корень проблемы, вы, вероятно, должны изменить URL-адреса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню