kotlin.reflect.KProperty (а также KClass и остальные) лежат в kotlin stdlib, так что ничего подключать не надо. И если посмотреть декомпилированный код, то видно, что вся необходимая информация для создания KProperty, что используется в делегатах, встраивается в сгенерированный код.
static final KProperty[] $$delegatedProperties = new KProperty[]{(KProperty)Reflection.mutableProperty1(new MutablePropertyReference1Impl(Reflection.getOrCreateKotlinClass(TestFragment.class), "carName", "getCarName()Ljava/lang/String;")), (KProperty)Reflection.mutableProperty1(new MutablePropertyReference1Impl(Reflection.getOrCreateKotlinClass(TestFragment.class), "index", "getIndex()I"))};
По такому принципу кстати работают GPU. Но там это обусловлено тем, что блоки по 32 ядра (warpы в cuda) в один момент времени могут выполнять только одинаковые инструкции.
После того как узнал о Moxy (https://github.com/Arello-Mobile/Moxy) вообще перестал беспокоиться о повороте экрана. В ней презентер спокойно переживает смену конфигурации и плюсом после пересоздания view применяет к нему все вызванные до поворота методы, что позволяет почти не париться о сохранении состояния.
Для работы с сертификатами и профилями еще есть очень удобные утилиты (sigh и cert) из fastlane (https://fastlane.tools/).
После небольшой настройки позволяют практически не заходить самому в dev center и itunes connect.
kotlin.reflect.KProperty (а также KClass и остальные) лежат в kotlin stdlib, так что ничего подключать не надо. И если посмотреть декомпилированный код, то видно, что вся необходимая информация для создания KProperty, что используется в делегатах, встраивается в сгенерированный код.
По такому принципу кстати работают GPU. Но там это обусловлено тем, что блоки по 32 ядра (warpы в cuda) в один момент времени могут выполнять только одинаковые инструкции.
После того как узнал о Moxy (https://github.com/Arello-Mobile/Moxy) вообще перестал беспокоиться о повороте экрана. В ней презентер спокойно переживает смену конфигурации и плюсом после пересоздания view применяет к нему все вызванные до поворота методы, что позволяет почти не париться о сохранении состояния.
В котлине вполне это же можно так написать:
until, step – это все функции из стандартной библиотеки.
А для циклов по коллекции можно писать вот так:
Сам range оператор (который 0..N-1) в циклах лучше не использовать, очень легко -1 забыть.
После небольшой настройки позволяют практически не заходить самому в dev center и itunes connect.