@kotlin_lang

Страница 286 из 982
Vadim
19.08.2017
15:26:09
Есть куча операторов

Pavlo
19.08.2017
15:26:18
@medvedomg ответил выше

Anton
19.08.2017
15:27:51
Ну не красиво это

Кауой смысл вообще тогда в рхе в твоём проекте

Google
Anton
19.08.2017
15:28:20
Если у тебя там даже мвп неправильное

И кстати даггер тоже

Vadim
19.08.2017
15:28:40
что-то с котлином у меня пошло тогда не так и я решил скастить ?

С каких пор тайпкастинг — это ООП?)

Anton
19.08.2017
15:28:46
Не нужно вручную кастить

После инджекта

Vadim
19.08.2017
15:29:47
по сути это уже получается проблема нейминга методов

@vlastachu нет, конечно, но вью не должна просить презентер взять для неё данные. Она может лишь сообщать ему о событиях, которые с ней происходят. В данном случае, например, сообщить, что она уже проинициализировання (не уверен как правильно пишется) и готова к работе.

Vadim
19.08.2017
15:32:52
про слои, ты имеешь ввиду что презентер знает вьюху или как?

api.getCategoriesOfMoviesResponse() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(Consumer { var categories = it.categories for (index in 0..movies.size - 1) { var fullCategory = "" for (index2 in 0..movies.get(index).genreIds.size - 1) { for (index3 in 0..categories.size - 1) { if (movies.get(index).genreIds.get(index2) == categories.get(index3).id) { fullCategory += categories.get(index3).name.plus(" ") movies.get(index).categories = fullCategory } } } } (presenter as ListOfMoviesPresenter).setListOfMovies(movies) }) })

ебать)

почему у тебя слои ниже знают о слоях выше

Google
Vadim
19.08.2017
15:33:12
а с даггером что не так?

И кстати даггер тоже

Anton
19.08.2017
15:33:26
Менеджер это у тебя с данными работает?

А презентер выше его

Vadim
19.08.2017
15:34:59
ты про отдельный класс ApiCommunicateManager ?

Anton
19.08.2017
15:37:47
Вот метод что я скинул у тебя где?)

Vadim
19.08.2017
15:44:10
в презентере

Вот метод что я скинул у тебя где?)

вот это круче выглядит

Немножко “идиоматичного” Котлина https://i.gyazo.com/b06cf999430aa5215d4c2549821bcb4a.png

Anton
19.08.2017
15:45:55
Как он может быть в презентере если ты в нем кастишь к презентеру

Vadim
19.08.2017
15:46:52
опечатка))) тогда он менеджере

?

если не делать связь с презентером

тогда можно сделать возвращаемый тип список, который я передаю презентеру

Anton
19.08.2017
15:49:15
ты обсервабл можешь через много слоев пропустить

а подписаться только в презентере

Vadim
19.08.2017
15:49:26
как мне с моего обсервабле получить какой-то список?

ага

Google
Anton
19.08.2017
15:49:40
блин чувак без обид но на хуй ты заюзал весь этот стек

написал бы на колбеках на джаве

со своим ДИ

Vadim
19.08.2017
15:50:24
я хотел потестить как все в куче работает

?

Anton
19.08.2017
15:50:46
ну рефактори теперь

Igor
19.08.2017
15:52:00
я хотел потестить как все в куче работает
(еще и AS нестабильную заюзал, я блин 5 минут потратил что бы собрать проект в стабильной IDEA)

Vadim
19.08.2017
15:53:13
такс, в 3 студии добавили котлин из коробки, я решил и на заморачиваться во 2 студии

спасибо за то засрали мой код))) буду апдейтить

Anton
19.08.2017
15:54:22
че значит котлин из коробки))

там ниче не меняли там при старте проекта есть галка support kotlin и все))

Vadim
19.08.2017
15:54:58
когда проект создаешь, там галочку ставить, мол сконфигурируй на котлине

Igor
19.08.2017
15:55:00
такс, в 3 студии добавили котлин из коробки, я решил и на заморачиваться во 2 студии
(сижу на IDEA CE уже 2 года - котлин был всегда ? (выкидывай AS))

Vadim
19.08.2017
15:56:24
а почему на сидите на ней?

AS это ж по сути IDEA CE переделанная

Igor
19.08.2017
15:57:34
Можно же Join вместо reduce?
Да .joinToString(separator = " ") ? (но с reduce как-то математичнее)

Quantum Harmonizer
19.08.2017
15:57:58
Да .joinToString(separator = " ") ? (но с reduce как-то математичнее)
reduce поломается для пустой коллекции

Igor
19.08.2017
15:58:54
Google
Igor
19.08.2017
16:03:31
Больше напрягает, что народ тащит RX туда, где нужны промисы (нет реактивнго-потока). В Kotlin они отлично заменяется коррутинами, без сторонних либ. (А если все таки нужны react-streams - есть kotlin-каналы)

Валерий
19.08.2017
19:25:04
корутины выполняются в том же потоке?

Artem
19.08.2017
19:25:05
Михаил
19.08.2017
19:25:39
корутины выполняются в том же потоке?
зависит от того какой контекст указан

Artem
19.08.2017
19:26:14
Рх и корутины две разные вещи. А применять рх для выполнения задач не в ui и иметь представление, что рх для этого создан — неверно

Yaroslav
19.08.2017
19:26:32
часто рх используют чисто для многопоточности

Artem
19.08.2017
19:27:01
часто рх используют чисто для многопоточности
Мне кажется, что там делают совсем новички

Yaroslav
19.08.2017
19:27:20
или те кто не понимают рх

Anton
19.08.2017
19:27:22
никто так не делает

Artem
19.08.2017
19:27:35
Тащить рх в проект для многопоточности — не самый лучший вариант как бы)

Yaroslav
19.08.2017
19:27:37
я проекта 3 или 4 видел уже

Quantum Harmonizer
19.08.2017
19:27:58
почему нет?
а зачем?

Валерий
19.08.2017
19:28:14
потому что просто)

Quantum Harmonizer
19.08.2017
19:28:27
TPE проще

Artem
19.08.2017
19:28:31
почему нет?
Ну, если вас не волнует размер приложения, тогда тащите

Google
Artem
19.08.2017
19:28:39
Михаил
19.08.2017
19:28:54
ну одна из фишек рх это неблокирующая многопоточность за счет всего лишь двух операторов

если нравится городить колбэки то да, рх не нужен

Igor
19.08.2017
19:30:45
корутины выполняются в том же потоке?
Коррутины просто трансформируют линейный код в вызовы колбеков. Все остальное надо писать самому (или брать готовые либы)

Anton
19.08.2017
19:31:26
господи да никто не юзает рх чтобы тупо подписаться на другой поток. минимальный набор операторов юзается энивей

Валерий
19.08.2017
19:31:48
+
что за TPE ?

Artem
19.08.2017
19:32:03
что за TPE ?
ThreadPoolExecutor

Anton
19.08.2017
19:32:25
скоро рх модульным будет вообще

Anton
19.08.2017
19:32:58
ну куда уж мне

Михаил
19.08.2017
19:32:58
а чем тпе спасет от огорода колбэков?

Anton
19.08.2017
19:33:18
Как же вы ошибаетесь)
а вы что предпочитаете с говнокодом работать?

Quantum Harmonizer
19.08.2017
19:33:31
а чем тпе спасет от огорода колбэков?
А зачем огород? Ушёл в бэкграунд, всё сделал, вернул в UI.

а вы что предпочитаете с говнокодом работать?
Ох, какой чудный говнокод получается из Rx!

Anton
19.08.2017
19:33:53
из него получается вишенка

Валерий
19.08.2017
19:33:58
ну мы почти всегда работает с REST, значит нужно замапить DTO объект в модель для UI плюс часто бывает, что для экрана нужно сделать несколько запросов - zip или merge в общем с Rx просто проще)

Quantum Harmonizer
19.08.2017
19:34:01
Rx, TPE, coroutinex, whatever — нужно уметь готовить.

Artem
19.08.2017
19:34:04
а вы что предпочитаете с говнокодом работать?
Я имел в виду, что вы, наверное, мало видели проектов, в которых рх только для переноса в другой поток)

Anton
19.08.2017
19:34:21
ну я и не отрицаю этого и интересуюсь где вы такие проекты находите

Страница 286 из 982