Size: a a a

2020 October 20

ДБ

Дима Бажан in SwiftBook
Есть предположение почему контент виджета показывает только на симуляторе а на реальном устройстве нет
источник

Y

Yaroslav in SwiftBook
A A
Тоесть чтобы не нарушать этот закон, я либо наследуюсь uiimageView и пишу там реализацию скачивания изображения, либо пишу расширение для uiimageView с реализацией скачивания? Чтоб не нарушать ООП.

Мне тоже так ближе просто тестовое задание дали и сказали используй именно такой прототип функции и никакой более но это бредовый прототип и у меня ощущение что он что-то нарушает в какой бы класс его не напиши , функция по скачиванию изображения по url вообще не должна знать о cell по сути.
Всё-таки скачивание изображения, как мне кажется, не зона ответственности UIImageView.

Я бы создал отдельный класс, что-то типа: NetworkImageProvider, с функцией
func loadImage(fromUrl url: URL, _ completion: @escaping (Result<UIImage, Error>) -> Void).

Можно предоставленную функцию func downloadImage оставить с VC и там вызывать imageProvider.loadImage..
источник

AA

A A in SwiftBook
Yaroslav
Всё-таки скачивание изображения, как мне кажется, не зона ответственности UIImageView.

Я бы создал отдельный класс, что-то типа: NetworkImageProvider, с функцией
func loadImage(fromUrl url: URL, _ completion: @escaping (Result<UIImage, Error>) -> Void).

Можно предоставленную функцию func downloadImage оставить с VC и там вызывать imageProvider.loadImage..
Логика работы с конфигурацией ячейки разве должна быть в vc? Она же в классе ячейки быть должна
источник

Y

Yaroslav in SwiftBook
A A
Логика работы с конфигурацией ячейки разве должна быть в vc? Она же в классе ячейки быть должна
Логика работы с конфигурацией ячейки начинается в DataSource, в зависимости от данных, которые у него есть. Это происходит в методе cellForRowAt.
источник

s

sad in SwiftBook
привет, обьясните плиз простыми словами что такое кеширование
источник

AA

A A in SwiftBook
Yaroslav
Логика работы с конфигурацией ячейки начинается в DataSource, в зависимости от данных, которые у него есть. Это происходит в методе cellForRowAt.
Да но метод downloadImage ты говоришь в vc сделать и туда передавать cell для конфигурации, это разве верный подход?

Разве не правильнее чтоб в классе ячейки был метод конфиг какой-то, который я бы у ячейки вызывал в методе cellForRow
источник

G

Gold in SwiftBook
sad
привет, обьясните плиз простыми словами что такое кеширование
Запись данных в кеш (быстрая память маленького размера - относительно основной, в кеш идет запись данных к которым ты вероятнее всего  будешь обращатсья)
источник

s

sad in SwiftBook
благодарю
источник

Y

Yaroslav in SwiftBook
A A
Да но метод downloadImage ты говоришь в vc сделать и туда передавать cell для конфигурации, это разве верный подход?

Разве не правильнее чтоб в классе ячейки был метод конфиг какой-то, который я бы у ячейки вызывал в методе cellForRow
Так примерно и будет. В методе cellForRow мы вызываем downloadImage (эта функция могла бы быть со сбегающим замыканием, но мы имеем такую) и внутри функции у cell вызываем отдельный метод конфигурации, передавая туда UIImage, когда imageProvider его предоставит. По сути, мы конфигурируем всё в сellForRow, но с задержкой на скачивание.

Но это лишь мнение. Можешь сделать как видится тебе.

Единственное, надо обратить внимание на переиспользование ячеек. И посмотреть, как сделать, чтобы скачанная картинка не подставлялась в уже пересозданную ячейку.
источник

AA

A A in SwiftBook
Yaroslav
Так примерно и будет. В методе cellForRow мы вызываем downloadImage (эта функция могла бы быть со сбегающим замыканием, но мы имеем такую) и внутри функции у cell вызываем отдельный метод конфигурации, передавая туда UIImage, когда imageProvider его предоставит. По сути, мы конфигурируем всё в сellForRow, но с задержкой на скачивание.

Но это лишь мнение. Можешь сделать как видится тебе.

Единственное, надо обратить внимание на переиспользование ячеек. И посмотреть, как сделать, чтобы скачанная картинка не подставлялась в уже пересозданную ячейку.
Я знаю как это все реализовать) вопрос именно в правильном распределении логики по своим местам)) я вот это хотел узнать чтобы с точки зрения ответствннгости где должна находится функция)
источник

ЯД

Ярар Депардье... in SwiftBook
День добрый!

Посоветуйте пожалуйста, какого года б/у macbook pro лучше взять для обучения по сфивту? Так сказать «топ за эти деньги» с бюджетом 50±10к ₽

На данный момент юзаю pro early 2011, планирую уже менять старичка
источник

A

Alexander in SwiftBook
2015
источник

А

Алмаз ® in SwiftBook
A A
Я знаю как это все реализовать) вопрос именно в правильном распределении логики по своим местам)) я вот это хотел узнать чтобы с точки зрения ответствннгости где должна находится функция)
Если просто то ui должен только требовать что то куда то, и делать то что приказывает контроллер а не выполнять действия не зависящие от контроллера.
Но вам  уже написали, что правила можно нарушать. Не переусердствуйте с чистым кодом.
источник

AA

A A in SwiftBook
Алмаз ®
Если просто то ui должен только требовать что то куда то, и делать то что приказывает контроллер а не выполнять действия не зависящие от контроллера.
Но вам  уже написали, что правила можно нарушать. Не переусердствуйте с чистым кодом.
Ну ладно) спасиьо
источник

NM

Nikita Maskakult in SwiftBook
источник

A

Artem in SwiftBook
Кто то пользовался шифрованием AES, что такое iv??
источник

АВ

Антон Васнев... in SwiftBook
initial vector, стартовое значение
источник

ИМ

Иван Михеев... in SwiftBook
всем привет.
подскажите как решаете пролему с подсветкой и автодополнением. delivered data удалял. комп и xcode перезапускал. поды переустанавливал.
источник

В

Ваня in SwiftBook
Иван Михеев
всем привет.
подскажите как решаете пролему с подсветкой и автодополнением. delivered data удалял. комп и xcode перезапускал. поды переустанавливал.
Используешь Core Data?
источник

ЯД

Ярар Депардье... in SwiftBook
Благодарю
источник