Давайте еще немного вспомним Kotlin и вот очередной вопрос.
Как работает модификатор crossinline?
#вопросыссобеседования
Как работает модификатор crossinline?
#вопросыссобеседования
🌐 Mirador — это библиотека, с помощью которой, вы сможете улучшить AR-навигацию по достопримечательностям, на базе Apple RealityKit. Выставляете якоря, а софт сам отмечает место, ориентируясь по GPS.
Изучить библиотеку
#новостиproglib
Изучить библиотеку
#новостиproglib
👍2
Подготовили для вас подборку полезных видосов, в том числе с WWDC:
🔹 Все видео WWDC 2023
🔹 Как создавать изменяемые sheets в SwiftUI
🔹 Исследуем макросы Swift
🔹 Как нанимать и растить тимлидов
🔹 Выжимаем максимум из ChatGPT для программистов
🔹 Что нужно знать о качестве платформы и приложений в Google I/O '23
🔹 Как юзать Navigate Back With в Jetpack Compose
#дайджест
🔹 Все видео WWDC 2023
🔹 Как создавать изменяемые sheets в SwiftUI
🔹 Исследуем макросы Swift
🔹 Как нанимать и растить тимлидов
🔹 Выжимаем максимум из ChatGPT для программистов
🔹 Что нужно знать о качестве платформы и приложений в Google I/O '23
🔹 Как юзать Navigate Back With в Jetpack Compose
#дайджест
🔥3
Ответ на вопрос из поста.
Как работает модификатор crossinline в Kotlin?
crossinline — ключевое слово, которое используется для указания, что лямбда-выражение не может содержать нелокальных return, даже если оно передано в inline-функцию.
Когда лямбда-выражение передается в функцию в качестве параметра, можно использовать оператор return внутри лямбды, чтобы выйти из цикла или функции, в которой вызывается лямбда. Однако, если передать лямбда-выражение в inline-функцию, код лямбда-выражения может быть вставлен прямо в место вызова функции. В этом случае, если в лямбде используется оператор return, это может привести к выходу из внешней функции, что не всегда желательно.
#вопросыссобеседования
Как работает модификатор crossinline в Kotlin?
crossinline — ключевое слово, которое используется для указания, что лямбда-выражение не может содержать нелокальных return, даже если оно передано в inline-функцию.
Когда лямбда-выражение передается в функцию в качестве параметра, можно использовать оператор return внутри лямбды, чтобы выйти из цикла или функции, в которой вызывается лямбда. Однако, если передать лямбда-выражение в inline-функцию, код лямбда-выражения может быть вставлен прямо в место вызова функции. В этом случае, если в лямбде используется оператор return, это может привести к выходу из внешней функции, что не всегда желательно.
#вопросыссобеседования
👍4
🤨🤨🤨 Почему происходят рекомпозиции и как уменьшить их количество
Для эффективной работы Jetpack Compose постоянно перестраивает компоненты пользовательского интерфейса, которые зависят от изменённых данных.
Создавая код, нужно стараться, чтобы частая рекомпозиция не влияла на производительность приложения, а как это сделать правильно, расскажет автор следующего материала.
Читать статью
#новостьproglib
Для эффективной работы Jetpack Compose постоянно перестраивает компоненты пользовательского интерфейса, которые зависят от изменённых данных.
Создавая код, нужно стараться, чтобы частая рекомпозиция не влияла на производительность приложения, а как это сделать правильно, расскажет автор следующего материала.
Читать статью
#новостьproglib
👍2
🤔 Не всем легко понять, что происходит с модификаторами классов в Dart 3.0. Всего их 4: abstract, interface, base и sealed. Эти самые модификаторы — одна из самых больших и удобных функций. Предлагаем разобраться в тонкостях.
Изучить
#новостьproglib
Изучить
#новостьproglib
🔥 Делимся занимательным видосом о Swift Charts. Разработчики постарались на славу и наваяли скроллинг в графиках и поработали с pie-графиками.
Подробнее в видео
#новостиproglib
Подробнее в видео
#новостиproglib
❤6
😉😉😉 Хотите поучаствовать в конфе? Тогда не затягивайте! До 25 числа проходит прием заявок по темам:
- ОС, бибилиотеки и т.д.
- Архитектура
- Качество продукта
- Тренды
- Инфраструктура
- UI/UX
Страница мероприятия
#новостьproglib
- ОС, бибилиотеки и т.д.
- Архитектура
- Качество продукта
- Тренды
- Инфраструктура
- UI/UX
Страница мероприятия
#новостьproglib
👍1
Прикольное и полезное нововведение в UIKit — добавили новый вид .displayAsPalette в меню. Настройка элемента производится через state.
#новостьproglib
#новостьproglib
👍1
Ответы разработчиков на насущные темы по iOS.
Должно ли мое Live Activity пытаться изменить цвет фона Dynamic Island?
Dynamic Island будет более понятным, когда вы не будете пытаться менять цвет его фона или изображения — думайте о нем просто как о холсте из элементов. Дополнительные рекомендации по проектированию приведены в Руководстве по UI.
Поддерживают ли Live Activities интерактивные кнопки?
Live Activities на экране блокировки и Dynamic Island не поддерживают интерактивные кнопки или другие элементы управления. Добавление кнопок в Live Activities может ввести кого-то в заблуждение, заставив думать, что он может взаимодействовать с представлением. По этой причине вам следует избегать отображения в UI чего-либо, напоминающего кнопку.
Должно ли мое Live Activity пытаться изменить цвет фона Dynamic Island?
Dynamic Island будет более понятным, когда вы не будете пытаться менять цвет его фона или изображения — думайте о нем просто как о холсте из элементов. Дополнительные рекомендации по проектированию приведены в Руководстве по UI.
Поддерживают ли Live Activities интерактивные кнопки?
Live Activities на экране блокировки и Dynamic Island не поддерживают интерактивные кнопки или другие элементы управления. Добавление кнопок в Live Activities может ввести кого-то в заблуждение, заставив думать, что он может взаимодействовать с представлением. По этой причине вам следует избегать отображения в UI чего-либо, напоминающего кнопку.
👍1
🧑🎓🧑🎓🧑🎓 Быстрый экскурс в SwiftData:
➖ Observable меняется на Model (рис. 1)
➖ получаем список (рис. 2)
➖ сортировка списка (рис. 3)
Чтение и запись происходят автоматически.
➖ Observable меняется на Model (рис. 1)
➖ получаем список (рис. 2)
➖ сортировка списка (рис. 3)
Чтение и запись происходят автоматически.
🤔5
⚠️ Permissions в Android: как не допустить ошибок при разработке
Что это такое, как с ними работать, а главное, какие ошибки могут возникнуть и как их не допустить
Читать статью
Что это такое, как с ними работать, а главное, какие ошибки могут возникнуть и как их не допустить
Читать статью
Познавательный видос для новичков, в котором, в интерактивном формате вы узнаете про Tasks, Back Stack и Launch Mode
Смотреть
Смотреть
👍2
Подъехал очередной интересный дайджест материалов Android, iOS, кроссплатформа:
✏️ UICollectionViewCompositionalLayout
✏️ Как использовать модификатор Refreshable в Swift UI
✏️ Добавляем Animations в ScrollView в Swift UI
✏️ Как тестировать Android-приложения без использования эмуляторов?
✏️ Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?
✏️ Activities и Activity Lifecycle
✏️ Почему KMM — не кроссплатформа?
✏️ Настройка Flutter/Dart на Linux
✏️ React Native ECharts, Victory Native или React Native Chart Kit
#дайджест
✏️ UICollectionViewCompositionalLayout
✏️ Как использовать модификатор Refreshable в Swift UI
✏️ Добавляем Animations в ScrollView в Swift UI
✏️ Как тестировать Android-приложения без использования эмуляторов?
✏️ Кто и в каких задачах быстрее? Coroutines, RxJava, Executor?
✏️ Activities и Activity Lifecycle
✏️ Почему KMM — не кроссплатформа?
✏️ Настройка Flutter/Dart на Linux
✏️ React Native ECharts, Victory Native или React Native Chart Kit
#дайджест
🔥1
🤔 Взгляд со стороны на ruMobile-разработку важен, чтобы понимать, чего ждать. И нам попался занимательный видос, затрагивающий всякие ограничения Google для ru-сегмента, Huawei, Рудроид и Android + ОС Аврора — весьма увлекательные материалы.
Смотреть видео
#новость
Смотреть видео
#новость
🥱1
Ответ на вопрос:
Почему нельзя все функции сделать inline?
Технически, можно, но это может привести к ряду негативных последствий:
➖ Увеличение расхода памяти
➖ Увеличение размера скомпилированного кода
➖ Ограничения на использование лямбда-выражений
➖ Увеличение времени компиляции
➖ Ограничения на использование рекурсии
#вопросыссобеседования
Почему нельзя все функции сделать inline?
Технически, можно, но это может привести к ряду негативных последствий:
➖ Увеличение расхода памяти
➖ Увеличение размера скомпилированного кода
➖ Ограничения на использование лямбда-выражений
➖ Увеличение времени компиляции
➖ Ограничения на использование рекурсии
#вопросыссобеседования
👍8❤1