так, иногда изображение 2 (например) ноль, в этом случае я не хочу
это будет добавлено в массив, это возможно?
Да, это так. Хотя я бы согласился с предложением Ш_Кхана использовать метод compactMap
для его достижения, но для вашего текущего случая это было бы бесполезно:
Исходя из вашего фрагмента кода, я бы предположил, что alamofireSource
типа [AlamofireSource]
, но не [AlamofireSource?]
, и это потому, что вы принудительно разворачиваете его элементы ( добавив !
к каждому из его элементов). Пока что alamofireSource
не содержит nils (на самом деле это может быть опаснее, чем просто объявление, ваше приложение может зависнуть!)
Итак, прежде всего, я бы порекомендовал удалить !
из alamofireSource
:
let alamofireSource = [AlamofireSource(urlString: Img1!),
AlamofireSource(urlString: Img2!),
AlamofireSource(urlString: Img3!),
AlamofireSource(urlString: Img4!)]
, что означает, что пусть это будет [AlamofireSource?]
, поэтому вы получите выгоду от использования compactMap(_:)
:
Возвращает массив, содержащий ненулевые результаты вызова данного
преобразование с каждым элементом этой последовательности.
Как:
let alamofireSourceWihoutNils = alamofireSource.compactMap { $0 }