Как я могу загрузить изображение из Firebase в Swift, а затем быстрее отобразить его в UIImageView? - PullRequest
0 голосов
/ 11 сентября 2018

Я загружаю изображения из Firebase в Swift (большинство занимает около 5 МБ), а затем отображаю их в UIImageView. Каждый из них появляется только один раз, поэтому нет необходимости кэшировать их для последующего просмотра. Большую часть времени они загружаются за секунду или две. Есть ли способы сделать это время короче?

Мой код:

Database.database().reference().child("movies").child(movieNumString).observeSingleEvent(of: .value, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
    let UrlString: String? = ((dictionary["posterPhotoURL"] as? String))
    let Url = URL(string: (UrlString)!)

    self.moviePosterImageView.sd_setImage(with: Url, placeholderImage: #imageLiteral(resourceName: "PImage"), options: [], completed: { (image, error, cacheType, url) in
            self.moviePosterImageView.image = image
    })
}

1 Ответ

0 голосов
/ 11 сентября 2018

Пожалуйста, смотрите переполнение стека рекомендации на будущее.

Самое главное, вы должны беспокоиться о данных и размере изображений, время, необходимое для их загрузки, будет уменьшаться по мере уменьшения размера. Попробуйте уменьшить размеры до нескольких килобайт.

В Firebase вы можете иметь функции, которые работают на стороне сервера, и, например, вы можете выполнять изменение размеров изображений. См. здесь для всех примеров функций и для изменения размера этот является примером использования sharp пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...