🍏 Чем будет свойство pounds в следующем примере?
Свойство также известно как вычисляемое свойство.
В Swift вычисляемые свойства не хранятся в объекте. Вычисляемое свойство означает, что его значение вычисляется «по требованию» только при попытке доступа к нему. Вы можете создавать вычисляемые свойства с помощью методов и (необязательно) .
• Метод выполняет вычисление «по требованию», когда вызывается .
• Метод обновляет килограммы, когда обновляются фунты. (Обратите внимание, что метод является необязательным, и вам не нужен такой метод для создания вычисляемого свойства).
#swift
class Weight {
var kilograms: Float = 0.0
var pounds: Float {
get { return (kilograms * 2.205)}set(newWeight) {
kilograms = newWeight /2.205
}}}
let weight = Weight()
weight.kilograms = 100print(weight.pounds) // prints '220.5'weight.pounds = 315print(weight.kilograms) // prints '142.85715'
pounds
get
set
get
weight.pounds
set
set
#swift
❤2
🌐 Такие разные Slivers: гибкое управление элементами
Продолжаем разбор сливеров, в предыдущих частях серии автор рассмотрел сливеры-списки, сливеры, которые помогают управлять компоновкой и распределением пространства.
В этой же статье автор разбирает сливеры, которые дают возможности для более гибкого управления размерами и поведением элементов во время прокрутки. В частности смотрит, что сливеры умеют делать с заголовком.
👉 Читать статью
#новость #flutter
Продолжаем разбор сливеров, в предыдущих частях серии автор рассмотрел сливеры-списки, сливеры, которые помогают управлять компоновкой и распределением пространства.
В этой же статье автор разбирает сливеры, которые дают возможности для более гибкого управления размерами и поведением элементов во время прокрутки. В частности смотрит, что сливеры умеют делать с заголовком.
👉 Читать статью
#новость #flutter
👍3
💻 Xmtp-ios — клиентский SDK для работы с XMTP
XMTP — крупнейшая и самая безопасная децентрализованная сеть обмена сообщениями. Xmtp-ios представляет собой Swift-реализацию клиента XMTP message API для использования в iOS-приложениях.
Используйте xmtp-ios для для отправки сообщений между блокчейн-аккаунтами, включая DM, уведомлений, анонсов и многого другого.
⚙️ Xmtp-ios на GitHub
#новость #ios
XMTP — крупнейшая и самая безопасная децентрализованная сеть обмена сообщениями. Xmtp-ios представляет собой Swift-реализацию клиента XMTP message API для использования в iOS-приложениях.
Используйте xmtp-ios для для отправки сообщений между блокчейн-аккаунтами, включая DM, уведомлений, анонсов и многого другого.
⚙️ Xmtp-ios на GitHub
#новость #ios
❤1
🚙 Kotlin Coroutines под капотом
Structured Concurrency — это одна из главных фишек Kotlin Coroutines, позволяющая оперировать иерархиями корутин через единый интерфейс. Благодаря такой организации можно легко отменить сразу все корутины, имея ссылку только на самый высокоуровневый объект.
В этой статье автор разбирает две базовые концепции, на основе которых строится Structured Concurrency — CoroutineContext и CoroutineScope.
👉 Читать статью
#новость #android #kotlin
Structured Concurrency — это одна из главных фишек Kotlin Coroutines, позволяющая оперировать иерархиями корутин через единый интерфейс. Благодаря такой организации можно легко отменить сразу все корутины, имея ссылку только на самый высокоуровневый объект.
В этой статье автор разбирает две базовые концепции, на основе которых строится Structured Concurrency — CoroutineContext и CoroutineScope.
👉 Читать статью
#новость #android #kotlin
❤2
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/1e25b7f3
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩3
📱🧮 Как Android обошел iOS в создании идеального калькулятора
Когда в Google решили написать по-настоящему точный калькулятор для Android, они и не подозревали, что эта задача потребует участия выдающегося эксперта по C/C++ и создания гибридной математической системы.
👉 Читать статью
#новость #android #ios
Когда в Google решили написать по-настоящему точный калькулятор для Android, они и не подозревали, что эта задача потребует участия выдающегося эксперта по C/C++ и создания гибридной математической системы.
👉 Читать статью
#новость #android #ios
👾7👍4
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
🌐 Flutter 3.29 — Что нового во Flutter
Этот релиз улучшает разработку и повышает производительность, с обновлениями Impeller, Cupertino, DevTools и других. Flutter 3.29, в котором приняли участие 104 уникальных автора, демонстрирует преданность сообщества.
Автор статьи подробно рассматривает все новшества и улучшения, которые помогут разработчикам максимально использовать возможности релиза.
👉 Читать статью
#новость #flutter
Этот релиз улучшает разработку и повышает производительность, с обновлениями Impeller, Cupertino, DevTools и других. Flutter 3.29, в котором приняли участие 104 уникальных автора, демонстрирует преданность сообщества.
Автор статьи подробно рассматривает все новшества и улучшения, которые помогут разработчикам максимально использовать возможности релиза.
👉 Читать статью
#новость #flutter
❤4
👨💻 Embedded Swift Example Projects — примеры встраиваемого Swift
Embedded Swift Example Projects — этот репозиторий представляет собой набор демонстрационных проектов для встраиваемого Swift. Embedded Swift — это режим компиляции и языка, который позволяет разрабатывать на Swift baremetal, встраиваемые и автономные программы или игры.
⚙️ Embedded Swift Example Projects на GitHub
#новость #ios
Embedded Swift Example Projects — этот репозиторий представляет собой набор демонстрационных проектов для встраиваемого Swift. Embedded Swift — это режим компиляции и языка, который позволяет разрабатывать на Swift baremetal, встраиваемые и автономные программы или игры.
⚙️ Embedded Swift Example Projects на GitHub
#новость #ios
❤3👍1
🍋 Запоздалый #самыйсок за январь
Собрали для вас самые интересные статьи за прошедший месяц!
💼 ТОП-7 признаков идеального работодателя
💡 Как получить от нейросети код, работающий в 100 раз быстрее
🏭🤖 Фабрика веры: почему будущее ИИ зависит от наших аплодисментов
🌍💼 Чем отличается наем IT-специалистов в России и за рубежом: 5 ключевых отличий
📈 ⚛️ ТОП-9 библиотек React Chart для визуализации данных в 2025 году
🤣 Dev Memes: бесконечные правки и утренняя дилемма
☢️ 8 способов не попасть в токсичную компанию: чек-лист для айтишника
Собрали для вас самые интересные статьи за прошедший месяц!
💼 ТОП-7 признаков идеального работодателя
💡 Как получить от нейросети код, работающий в 100 раз быстрее
🏭🤖 Фабрика веры: почему будущее ИИ зависит от наших аплодисментов
🌍💼 Чем отличается наем IT-специалистов в России и за рубежом: 5 ключевых отличий
📈 ⚛️ ТОП-9 библиотек React Chart для визуализации данных в 2025 году
🤣 Dev Memes: бесконечные правки и утренняя дилемма
☢️ 8 способов не попасть в токсичную компанию: чек-лист для айтишника
❤1🔥1
👾 С праздником защитников мобильных приложений
🛡 Андроидный батальон Kotlin:
▪️ null safety — бдительный часовой, не пускающий NullPointerException на порог.
▪️ data class — спаситель от тонны boilerplate-кода (и нервных срывов).
▪️ when expression — безжалостно отлавливает все забытые cases.
⚔️ Элитный отряд Swift:
▪️ Optional — специалист по предотвращению внезапных крашей.
▪️ guard let — беспощадный борец с unwrapped nil.
▪️ ARC — чтобы память точно не утекла.
Кого забыли в этом списке? Делитесь в комментариях 👇
🛡 Андроидный батальон Kotlin:
▪️ null safety — бдительный часовой, не пускающий NullPointerException на порог.
▪️ data class — спаситель от тонны boilerplate-кода (и нервных срывов).
▪️ when expression — безжалостно отлавливает все забытые cases.
⚔️ Элитный отряд Swift:
▪️ Optional — специалист по предотвращению внезапных крашей.
▪️ guard let — беспощадный борец с unwrapped nil.
▪️ ARC — чтобы память точно не утекла.
Кого забыли в этом списке? Делитесь в комментариях 👇
🎉9⚡1❤1
👾 Почему reified возможно использовать только с inline-функциями
Ключевое слово
inline-функции в Kotlin позволяют копировать тело функции непосредственно в вызывающий код. Это позволяет избежать накладных расходов на создание объектов и вызовы функций при каждом вызове.
Именно
Также стоит отметить, что ключевое слово
#kotlin
Ключевое слово
reified
используется только с inline-функциями, т.к. оно позволяет получить доступ к информации о типе-параметре на этапе выполнения программы, что невозможно для обычных (non-inline) функций.inline-функции в Kotlin позволяют копировать тело функции непосредственно в вызывающий код. Это позволяет избежать накладных расходов на создание объектов и вызовы функций при каждом вызове.
Именно
reified
в комбинации с inline
позволяет сохранить информацию о типе-параметре и передать ее внутрь функции в рантайме, что было бы невозможно без inline
.Также стоит отметить, что ключевое слово
reified
можно применять только с обобщенными типами (дженериками).#kotlin
❤5
📱 Осваиваем скроллинг в SwiftUI
Начиная с iOS 17 в SwiftUI появилась функция
В этой статье на реальном примере автор показывает, как использовать
👉 Читать статью
#новость #ios #swift
Начиная с iOS 17 в SwiftUI появилась функция
scrollTargetBehavior
, позволяющая разработчикам управлять поведением прокрутки с большей точностью. Будь то выравнивание представлений или реализация пользовательских эффектов пагинации, ScrollTargetBehavior
обеспечивает надежную поддержку. Что еще более важно, разработчики могут создавать собственные реализации функции для удовлетворения конкретных потребностей. В этой статье на реальном примере автор показывает, как использовать
scrollTargetBehavior
и в конечном итоге реализовать пользовательскую логику управления прокруткой.👉 Читать статью
#новость #ios #swift
🥰4❤1
💬 Monal — открытый XMPP-клиент
Monal — кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич — отсутствие рекламы и отслеживания личной информации, зашифрованные чаты, работа с корпоративными XMPP-серверами, требующими VPN, поддержка групповых чатов, аудио/видео звонков.
⚙️ Monal на GitHub
#новость #ios
Monal — кроссплатформенный современный открытый XMPP-клиент для iOS и macOS. Среди фич — отсутствие рекламы и отслеживания личной информации, зашифрованные чаты, работа с корпоративными XMPP-серверами, требующими VPN, поддержка групповых чатов, аудио/видео звонков.
⚙️ Monal на GitHub
#новость #ios
🤩3
🌐 Pазгоняем MVVM до максимума
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
Задумываетесь ли вы при покупке новой вещи о том, какой путь она прошла, прежде чем попасть к вам в руки? А ведь телефон, книга или тарелка могли посетить аж четыре дополнительных точки, если продавец далеко от склада.
Автор статьи делится, как с помощью грамотно подобранной архитектуры Яндекс удалось упростить, стандартизировать и даже ускорить разработку мобильных приложений логистики, которых много: приложение для курьеров, приложение для пунктов выдачи заказов, приложения для сортировочных центров и так далее.
👉 Читать статью
#новость #flutter
👍6🤩2🔥1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🔹 Как мы «рисовали» учет времени на iOS с помощью библиотеки Charts
🔹 Как мы из России опубликовали платное приложение в App Store
🔹 Анализ Android-фич на доступность и внедрение accessibility в процесс разработки
🔹R8: Шакалья работа (уменьшение apk через правки R8)
🔹 Приватный финансовый менеджер inCourse на React Native. Опыт разработки
#дайджест
🥰4
🎨 Что такое перерисовка и как с ней бороться
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
Рендеринг, то есть отрисовка пользовательского интерфейса на экране мобильного устройства, влияет на восприятие качества каждым пользователем приложения. Глаза требуют плавности при выводе изображений и текста на экран. Поэтому лучше избегать медленной отзывчивости и задержек при отрисовке на экране.
В статье автор рассказывает, что такое перерисовки (Overdraw), как они влияют на производительность рендеринга и как можно их исправить.
👉 Читать статью
#новость #android
❤3
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
😁5
🍏 Назовите 5 утверждений передачи управления (Control Transfer Statements)
Вот онислева-направо (сверху-вниз):
•
•
•
•
•
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
#swift
Вот они
•
Break
•
Continue
•
Fallthrough
•
Throw
•
Return
Операторы передачи управления изменяют порядок выполнения вашего кода.
Например, вы можете использовать оператор передачи управления
break
для завершения выполнения цикла for
, когда продолжение цикла считается ненужным:for choice in choices:if isCorrect(choice):print(«Correct choice found!»)break
#swift
❤2