С использованием '!' здесь устарело и будет удалено в будущем выпуске - swift 4.2

Компилятор выдает следующее предупреждение при установке изображения в ячейке с помощью SDWebimage в Swift 4.2.

Предупреждение компилятора Swift:

Использование '!' здесь устарело и будет удалено в будущем выпуске

let url = NSURL(string: (str_url) as String)

cell.img!.sd_setImage(with: url as URL!, completed: block_image) //--- WARNING ON THIS LINE AT URL!

Какие-либо предложения ?


person imgroot    schedule 25.09.2018    source источник


Ответы (2)


Используйте этот код : cell. img!.sd_setImage(with: url! as URL, completed: block_image)

Предложение: используйте URL вместо NSURL

            let url = URL(string: "" ) //use url String
            cell.img!.sd_setImage(with: url, completed: block_image)
person Hemant Solanki    schedule 25.09.2018
comment
Пожалуйста, добавьте Using '!' here is deprecated and will be removed in a future release связанный документ - person Anbu.Karthik; 25.09.2018
comment
@Anbu.karthik Я нашел эти документы, пожалуйста, просмотрите их, брат: swift.org/blog/iuo и github.com/apple/swift/blob/master/CHANGELOG .md#swift-42 в этом документе Раздел Swift 4.2 › SE-0054. - person Hemant Solanki; 25.09.2018
comment
@imgroot Пожалуйста, одобрите ответ, если вы сочтете его правильным, и я объясню его вам. попробуйте с этим документом, вы получите лучшее представление: swift.org/blog/iuo - person Hemant Solanki; 25.09.2018
comment
если вы напишете x как T!, компилятор сначала попытается проверить это как x как T?. Только если это не удастся, компилятор попытается проверить тип как (x as T?)!, принудительно задав необязательный. - person Hemant Solanki; 25.09.2018

Попробуй это:

if let url = URL(string: str_url) {
    cell.img!.sd_setImage(with: url, completed: block_image)
}
person Jorg B Jorge    schedule 25.09.2018