Size: a a a

iOS Developers — русскоговорящее сообщество

2020 December 08

V

Vladimir in iOS Developers — русскоговорящее сообщество
Егор Христофоров
Привет, кто-нибудь сталкивался с подобным в тестировании rx? Вроде все по туториалу делаю, а все равно приходит .completed, выглядит будто viewmodel деинициализируется раньше времени
а как внутри viewModel биндится searchText в countries?
источник

SA

Sherzod Akhmedov in iOS Developers — русскоговорящее сообщество
Егор Христофоров
Привет, кто-нибудь сталкивался с подобным в тестировании rx? Вроде все по туториалу делаю, а все равно приходит .completed, выглядит будто viewmodel деинициализируется раньше времени
Было бы неплохо если бы загружали скриншота как файл (без сжатия)
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Sherzod Akhmedov
Было бы неплохо если бы загружали скриншота как файл (без сжатия)
Исправился)
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Vladimir
а как внутри viewModel биндится searchText в countries?
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Тут по searchText фильтруется список
источник

V

Vladimir in iOS Developers — русскоговорящее сообщество
возможно гоню, но потенциальная проблема такая, getCountryList() заканчивают работу уже после прокидывания значений в тесте, соответственно, у combineLatest есть только эвенты из одного источника, из второго нет, значит, нет эвентов из него вообще

тест пихает значения, combineLatest ничего не делает, единственный output – это исходное значение в сабжекте

если так, то, имхо, поиск не должен зависеть от получения списка стран напрямую, т.е. не нужен combineLatest, нужен flatMapLatest внутри, который будет получать список стран, а по-нормальному, кэшировать их где-то и делать запрос, если кэш пустой
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Vladimir
возможно гоню, но потенциальная проблема такая, getCountryList() заканчивают работу уже после прокидывания значений в тесте, соответственно, у combineLatest есть только эвенты из одного источника, из второго нет, значит, нет эвентов из него вообще

тест пихает значения, combineLatest ничего не делает, единственный output – это исходное значение в сабжекте

если так, то, имхо, поиск не должен зависеть от получения списка стран напрямую, т.е. не нужен combineLatest, нужен flatMapLatest внутри, который будет получать список стран, а по-нормальному, кэшировать их где-то и делать запрос, если кэш пустой
Понял, спасибо, буду разбираться)
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Vladimir
возможно гоню, но потенциальная проблема такая, getCountryList() заканчивают работу уже после прокидывания значений в тесте, соответственно, у combineLatest есть только эвенты из одного источника, из второго нет, значит, нет эвентов из него вообще

тест пихает значения, combineLatest ничего не делает, единственный output – это исходное значение в сабжекте

если так, то, имхо, поиск не должен зависеть от получения списка стран напрямую, т.е. не нужен combineLatest, нужен flatMapLatest внутри, который будет получать список стран, а по-нормальному, кэшировать их где-то и делать запрос, если кэш пустой
Заменил ради интереса вызов, все равно тест ту же самую ошибку выкидывает
источник

V

Vladimir in iOS Developers — русскоговорящее сообщество
Егор Христофоров
Заменил ради интереса вызов, все равно тест ту же самую ошибку выкидывает
я точно неправильно сказал, в countriesSubject есть значение пустое, но факт, что не доходят до countries значения
источник

V

Vladimir in iOS Developers — русскоговорящее сообщество
Егор Христофоров
Заменил ради интереса вызов, все равно тест ту же самую ошибку выкидывает
как устроен prepareCountries?
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Vladimir
как устроен prepareCountries?
Просто мап массива из DTO в модели
источник

V

Vladimir in iOS Developers — русскоговорящее сообщество
что если в 106й строчке переписать flatMap на map?
источник

ЕХ

Егор Христофоров... in iOS Developers — русскоговорящее сообщество
Не помогло, я вставил .debug() и вот что выводится
источник

SD

Sergey Dengaev in iOS Developers — русскоговорящее сообщество
Добрый день, как сравнить две даты с учетом TimeZone?
например мне нужно сравнить 2 даты и получить разницу в днях
let day = calendar.dateComponents([.day], from: date1, to: date2).day
чтобы обнулить время я делаю через startOfDay,
но Date() дает мне таймзону +0000 и сравнение идет по ней,
в меня же сейчас +0200
не хочу делать сравнение через DateFormatter
источник

Y

Yurka in iOS Developers — русскоговорящее сообщество
Sergey Dengaev
Добрый день, как сравнить две даты с учетом TimeZone?
например мне нужно сравнить 2 даты и получить разницу в днях
let day = calendar.dateComponents([.day], from: date1, to: date2).day
чтобы обнулить время я делаю через startOfDay,
но Date() дает мне таймзону +0000 и сравнение идет по ней,
в меня же сейчас +0200
не хочу делать сравнение через DateFormatter
Дак дата одинаковая, таймзона не учитывается. А так, надо взять timestamp и плюсануть к нему миллисекунды таймзоны
источник

SD

Sergey Dengaev in iOS Developers — русскоговорящее сообщество
Yurka
Дак дата одинаковая, таймзона не учитывается. А так, надо взять timestamp и плюсануть к нему миллисекунды таймзоны
startDate = 2020-12-07 08:56:35 +0000;
stopDate = 2020-12-08 08:56:37 +0000;


это такое в БД, но реальная дата
startDate = 2020-12-07 06:56:35 +0200;
stopDate = 2020-12-08 0
6:56:37 +0200;

потому сравнение идет по 0000, и мне не верное показывает day
"Дак дата одинаковая," - этого не понял
"таймзона не учитывается" - мне как раз нужно учитывать таймзону
источник

SD

Sergey Dengaev in iOS Developers — русскоговорящее сообщество
Yurka
Дак дата одинаковая, таймзона не учитывается. А так, надо взять timestamp и плюсануть к нему миллисекунды таймзоны
есть пример о том, о чем вы говорите?
источник

U

User in iOS Developers — русскоговорящее сообщество
Подскажите, как сделать "анонимный" http запрос с пустыми куками?

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

HTTPCookieStorage.shared.cookies?.forEach(HTTPCookieStorage.shared.deleteCookie)
let downloadTask = URLSession.shared.dataTask(with: request ...)
источник

A

Alexey in iOS Developers — русскоговорящее сообщество
Всем привет, подскажите как это написать через map
источник

ЕС

Евгений Семёнов... in iOS Developers — русскоговорящее сообщество
Alexey
Всем привет, подскажите как это написать через map
let annotations = snapshot.children.compactMap { child -> ТВОЙТИП? in
if … {
return annotation
}
return nil
}
Не заметил if. Тогда лучше занилить, всё что не подошло и сделать compactMap
источник