Size: a a a

2021 February 08

N

Nikita in SwiftBook
bodich
Потому что session.dataTask выполняется асинхронно, и в его комплишене ты загружаешь массив. Но как только ты запустил dataTask, ты следом сразу же пытаешься получить содержимое массива, который еще не был загружен данными.
Спасибо! Правильно понимаю, что dispatchque.main.async нужно повесить?
источник

EB

Elias Babaeff in SwiftBook
Илья
Всем привет, какую книгу посоветуете по Swift? (Для новичка , на русском )
Спасибо!
Усов В. - Swift. Основы разработки приложений под iOS, iPadOS и macOS
источник

b

bodich in SwiftBook
Nikita
Всем привет!

Подскажите пожалуйста, что делаю не так, или что не понимаю?
Есть метод, который вытаскивает данные из API Твиттера, парсит JSON, создает экземпляр кастомного класса и добавляет(точнее не добавляет) их в массив данных экземпляров.
Вот здесь, если распечатать массив, то он наполнен нужными данными - https://drive.google.com/file/d/1KPrDdqdYl38ccxGlk8-o0Q_e7knXA5GE/view?usp=drivesdk но когда пытаюсь к нему добраться во viewDidLoad (естественно, после вызова этого метода там же), то он оказывается пустым 🤷‍♂️ . Сам массив инициализирован - в начале класса, ну а во viewDidLoad пытаюсь его распечатать, что бы понимать, что он наполнен нужными данными - https://drive.google.com/file/d/1v51BIr7qkRW_2Rj5D94-55F8fsxhl6Uj/view?usp=drivesdk .
Мне кажется, что я не понимаю чего-то элементарного.
И reloadData надо в комплишн переместить, а не следом за вызовом dataTask
источник

b

bodich in SwiftBook
Nikita
Спасибо! Правильно понимаю, что dispatchque.main.async нужно повесить?
Нет, совершенно не так)
источник

AK

Andrii Kindrat in SwiftBook
Илья
Всем привет, какую книгу посоветуете по Swift? (Для новичка , на русском )
Спасибо!
источник

IA

Ivan Akulov in SwiftBook
Илья
Всем привет, какую книгу посоветуете по Swift? (Для новичка , на русском )
Спасибо!
курсы пройдите бесплатные на swiftbook.ru, доки там же можно почитать на русском языке
источник

b

bodich in SwiftBook
Ты запускаешь dataTask, он начинает добывать данные по интернету, это займет допустим 2 секунды. Не дожидаясь пока он добудет данные, ты сразу читаешь массив свой и делаешь reloadData. Естественно, там пусто, т.к. ты не дождался пока оно загрузит из инета данные
источник

D

Dev in SwiftBook
Ivan Akulov
курсы пройдите бесплатные на swiftbook.ru, доки там же можно почитать на русском языке
Прохожу их сейчас, мозги кипят вечером. И это ещё 22 февраля не наступило
источник

b

bodich in SwiftBook
Nikita
Спасибо! Правильно понимаю, что dispatchque.main.async нужно повесить?
Ну и обернуть в dispatchmainasync reloaddata конечно тоже прийдется (тк вызывать будешь из комплишена не из главного потока). Но не в этом твоя текущая проблема.
источник

D

Dev in SwiftBook
Илья
Всем привет, какую книгу посоветуете по Swift? (Для новичка , на русском )
Спасибо!
Усов годноту написал. Посмотри
источник

N

Nikita in SwiftBook
bodich
Ну и обернуть в dispatchmainasync reloaddata конечно тоже прийдется (тк вызывать будешь из комплишена не из главного потока). Но не в этом твоя текущая проблема.
Спасибо за ответ! Буду разбираться.
источник

NB

NIKOLAI BORISOV in SwiftBook
Друзья, подскажите, пожалуйста, как заставить таймер обновляться после завершения теста без нажатия кнопки? В массиве 100 вопросов, что надо сделать, чтобы после сотого вопроса таймер перезапустился с нуля без кнопки? Моя функция  reloadTimer() не работает (вызывал ее во viewDidLoad и во viewDidAppear
источник

DB

David Bolotaev in SwiftBook
NIKOLAI BORISOV
Друзья, подскажите, пожалуйста, как заставить таймер обновляться после завершения теста без нажатия кнопки? В массиве 100 вопросов, что надо сделать, чтобы после сотого вопроса таймер перезапустился с нуля без кнопки? Моя функция  reloadTimer() не работает (вызывал ее во viewDidLoad и во viewDidAppear
а что делают viewDidLoad и viewDidAppear? думаю будет полезно почитать про это и познакомиться с жизненным циклом. ну и заодно поймешь почему не вызывается:)
источник

Т

Тирион in SwiftBook
Добрый день, проблема стара как мир, но всё же, декодирую джейсон, если всё делать через urlsession то декодируется без проблем, если же через аламофаер, то появляется ошибка, что не потому ключу стучусь. Ключ name, а в ошибке \"name\", правильно-ли понял, что декодер пытается достучатся по второму?
источник

I

Ibragim in SwiftBook
Тирион
Добрый день, проблема стара как мир, но всё же, декодирую джейсон, если всё делать через urlsession то декодируется без проблем, если же через аламофаер, то появляется ошибка, что не потому ключу стучусь. Ключ name, а в ошибке \"name\", правильно-ли понял, что декодер пытается достучатся по второму?
Убрать не нужный кодин кей на name решит проблему? Он там по сути и не нужен
источник

Т

Тирион in SwiftBook
Если я коменчу его, то ругается на следующий и так далее
источник

Т

Тирион in SwiftBook
Мне просто не понятно, по какому ключу стучиться декодер по name или \"name\"
источник

I

Ibragim in SwiftBook
Тирион
Мне просто не понятно, по какому ключу стучиться декодер по name или \"name\"
Покажи модель
источник

Т

Тирион in SwiftBook
Стоп не то
источник

AT

Andrey Torlopov in SwiftBook
пиши конструктор который будет  декодировать.
источник