Size: a a a

2020 September 23

Д

Дмитрий in SwiftBook
Anton Klimenko
Ребят, всем добрый день
Подскажите если знаете, такой вопрос

В коллекшн вью получаю с сервера данные, в ячейку вписывается текст в лейбл, и подгружаются по ссылке три имедж вью в каждую

Все работает, ниче не путается, но при скролле иногда они не успевают появляться и только спустя 2-4 секунды они подгружаются

Как это можно исправить? Что и где нужно дергать?

Добавил лоадинг кружок при заходе в этот раздел, крутится пока выполняется запрос с сервера, потом он пропадает, но он особо не помогает, все равно при быстром скролле картинки не успевают подгружаться

Подскажите плиз кто знает как можно это решить
Картинки стандартным сессионом?
источник

AK

Anton Klimenko in SwiftBook
Дмитрий
Картинки стандартным сессионом?
да, кастомный класс CustomImageView с функцией подгрузки по юрлу
вот сама функция

 func loadImage(with urlString: String) {
       
       // set image to nil
       self.image = nil

       // set lastImgUrlUsedToLoadImage
       lastImgUrlUsedToLoadImage = urlString

       // check if image exists in cache
       if let cachedImage = imageCache[urlString] {
           self.image = cachedImage
           return
       }

       // url for image location
       guard let url = URL(string: urlString) else { return }

       // fetch contents of URL
       URLSession.shared.dataTask(with: url) { (data, response, error) in

           // handle error
           if let error = error {
               print("Failed to load image with error", error.localizedDescription)
           }

           if self.lastImgUrlUsedToLoadImage != url.absoluteString {
               return
           }

           // image data
           guard let imageData = data else { return }

           // create image using image data
           let photoImage = UIImage(data: imageData)

           // set key and value for image cache
           imageCache[url.absoluteString] = photoImage

           // set image
           DispatchQueue.main.async {
               self.image = photoImage
           }
           }.resume()
   }
источник

Д

Дмитрий in SwiftBook
Anton Klimenko
да, кастомный класс CustomImageView с функцией подгрузки по юрлу
вот сама функция

 func loadImage(with urlString: String) {
       
       // set image to nil
       self.image = nil

       // set lastImgUrlUsedToLoadImage
       lastImgUrlUsedToLoadImage = urlString

       // check if image exists in cache
       if let cachedImage = imageCache[urlString] {
           self.image = cachedImage
           return
       }

       // url for image location
       guard let url = URL(string: urlString) else { return }

       // fetch contents of URL
       URLSession.shared.dataTask(with: url) { (data, response, error) in

           // handle error
           if let error = error {
               print("Failed to load image with error", error.localizedDescription)
           }

           if self.lastImgUrlUsedToLoadImage != url.absoluteString {
               return
           }

           // image data
           guard let imageData = data else { return }

           // create image using image data
           let photoImage = UIImage(data: imageData)

           // set key and value for image cache
           imageCache[url.absoluteString] = photoImage

           // set image
           DispatchQueue.main.async {
               self.image = photoImage
           }
           }.resume()
   }
А попробуйте nuke
источник

AK

Anton Klimenko in SwiftBook
Дмитрий
А попробуйте nuke
сейчас посмотрю, спасибо за наводку)
источник

A

Artem in SwiftBook
Есть массив бинарников
["10000110", "01000010", "00100100",]

Нужно взять Первый елемент массива проверить все числа, 1 или 0
источник

DH

Denys "Den4ikLv... in SwiftBook
Artem
Есть массив бинарников
["10000110", "01000010", "00100100",]

Нужно взять Первый елемент массива проверить все числа, 1 или 0
Берешь и проверяешь каждую строку по символу - профит
источник

VV

Vlad Vyshnevskyi in SwiftBook
кто подскажет, почему не на весь экран?

в гейм вью контроллере стоит контент мод = аспектфит

если меняю на аспектфилл = верхние обьекты пропадают с экрана, потому что область видимости обрезана очень...

куда посмотреть?
спасибо
источник

L

LavTeam in SwiftBook
1. В каком методе жизненного цикла UIViewController ему можно задать нестандартную корневую view в коде?
источник

L

LavTeam in SwiftBook
loadView?
источник

SK

Semyon Krivtsov in SwiftBook
Кто-нибудь сталкивался с проблемой в Картах "Картам не удалось определить текущую позицию"? (В настройках безопасности все разрешения выставлены). Раньше все работало
источник

AB

Anton Brock in SwiftBook
Ребят, подскажите, где можно глянуть код реализации такой штуки ?
источник

A

Alexandru in SwiftBook
Александр
Похоже ты был прав, если по урлу загружать то все ок. По ссылке хрен знает как он сохраняет в кеше
👍
источник

KR

Kirill Rudenko in SwiftBook
Хочу отправить все в put строке, а отправляется через параметры если get тогда нормально
источник

A

Artem in SwiftBook
for i in o {
  for u in i {

   как из этого цикла перейти во внешний на следующее значение?

   }
}
источник

A

Artem in SwiftBook
continue переходит на следующее значение внутреннего цикла
источник

S

Slava in SwiftBook
break
источник

SU

Stanislav Urevich in SwiftBook
Парни, ни у кого проблем с таблицей не было на новом икскоде? У меня во всех проектах контент неактивен внутри таблицы пока не напишу cell.textLabel?.text = String(indexPath.row) в cellforrow таблицы
источник

DH

Denys "Den4ikLv... in SwiftBook
Stanislav Urevich
Парни, ни у кого проблем с таблицей не было на новом икскоде? У меня во всех проектах контент неактивен внутри таблицы пока не напишу cell.textLabel?.text = String(indexPath.row) в cellforrow таблицы
покажи код
источник

SU

Stanislav Urevich in SwiftBook
источник

SU

Stanislav Urevich in SwiftBook
таблица
источник