iOS Broadcast
3.31K subscribers
1.7K photos
84 videos
973 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot
Download Telegram
How to check if String is Number in Swift

Способы проверить, что строка является числом:

👉 Символы 0-9 через CharacterSet(charactersIn: self).isSubset(of: digitsCharacters), либо регулярку "^[0-9]*$"
👉 Больше символов: (๑๒๓, например) CharacterSet(charactersIn: "искомая строка").isSubset(of: CharacterSet.decimalDigits)
👉 Еще больше символов ("⅚", "㊈"): "искомая строка".allSatisfy { character in character.isNumber }

#swift
👎4🔥2
Replacing if let in Swift 5.7

В Swift 5.7 был упрощен синтаксис выражений if let и guard let. Теперь так:
var name: String? = "Linda"
if let name {
print("Hello, \(name)!")
}
В статье регулярка для быстрого рефакторинга

#swift
👍5👎2
Build Time Optimizations (Xcode)

Авторы статьи смогли сократить время билда на 21%. Приведем их советы по оптимизации кода:
1. Используйте "let", где возможно
2. Добавляйте final к классам
3. Явно объявляйте тип и избейгайте инициалзации через вызов .init 
4. Делайте extension'ы приватными
5. Используете объявление кейсов перечислений с типом
6. Разбивайте сложные выражения на части
7. Избегайте лишних кастингов
8. Предпочтитайте if let вместо разворачивания через ??

#optimization
👍7👎1
Integrate SwiftLint to the iOS project

Чтобы добавить SwiftLint к себе в проект нужно всего лишь...

👉 Добавить в Podfile: pod 'SwiftLint'
👉
Build Phases (Linting): ${PODS_ROOT}/SwiftLint/swiftlint
👉
Добавить правила в .swiftlint.yml

#tools
😁5👎1🤩1
«Счастье разработчиков 2022» — отчет ZenHub

Опрос 380 англоговорящих разработчиков из разных стран показал:
👉 Наиболее приоритетны для команд разработчиков — бизнес-цели
👉 Вызовы в ежедневном программировании — безопасность, быстродействие и уменьшение технического долга
👉 Только 8% работает над одним проектом, большинство работает более 40 часов в неделю
👉 В компании важны баланс работа/личная жизнь, качество проектов и размер зарплаты
👉 Наибольшее помехи продуктивности — меняющиеся требования, ожидание обратной связи и неясные сроки сдачи проектов.

#оффтоп
👍3👎2
Работа в мобильной разработке 2022 — опрос RayWenderlich.com

Всего в опросе приняло участие 1,257 человек. Вот некоторые его интересные результаты:
👉 Зарплата на карте — зеленое больше, красное меньше
👉 56% разработчиков создает собственные приложения в свободное время
👉 Доходы пет-проектов на 2 изображении
👉 Зарплата по языкам программирования — традиционно Objective-C лидирует, а на втором месте C++

#оффтоп
👍4👎1
Discover the MVVM Architecture in less than 90 seconds

Статья и видео с быстрым объяснением основной сути MVVM

#architecture
🔥5👎1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
🎉 Kotlin Multiplatform Mobile (KMM) вышел в Beta

Что значит Beta для KMM:
👉 Технология практически готова и ее безопаснос использовать
👉 Количество изменение, требующих миграции, будет минимизровано и авторы стараются такого не допускать

Время пробовать и интегрировать технологию, ведь она уже много где есть в продакшене!
👎3🔥2👍1
Логи в iOS, эпизод 2: os_signpost

Связка os_signpost и Time Profiler — мощный инструмент. Вы можете замерить сколько времени у вас выполнялась те или иные расчёты, сколько раз вы сходили в сеть, а также узнать, какая модель данных дольше всего парсилась

#tools
👍3👎1
Drag & Drop in SwiftUI (iOS 15)

Реализовываем drag-and-drop на SwiftUI

onDrag(_:preview:) - задает источник, параметры:
👉 data - closure, который возвращает NSItemProvider, который определяет перетаскиваемые данные
👉 preview - размещается по центру перетаскиваемого объекта после начала операции, опционально

onDrop(of:delegate:) - задает приемник, параметры:
👉 supportedConentType - определяет тип данных, которые можно принимать
👉 delegate - соответствует протоколу DropDelegate и определяет поведение drop

#swiftUI
👍3👎1
The Problems with Singletons and Why You Should Use DI Instead (10 мин)

Основные проблемы синглтонов:
👉 Синглтоны глобальные
👉 Вы не можете кастомизировать инициализацию
👉 Невозможно подменить зависимости
Подробнее о проблемах и способах решения в статье

#architecture
👍3
Вы не самозванец — все разработчики притворяются

Мы все просто придумываем решения
👉 Невозможно подделать код
Вы не можете подделать технические навыки, когда дело доходит до того, чтобы компьютер делал то, что нужно
👉 Библия разработчика
Когда senior сталкивается с новой проблемой, он не знает решение. Он придумывает ответ на ходу!
Вот что делает разработку программного обеспечения такой интересной и творческой областью. Мы творчески ищем решения новых задач.
👉 Ценность ошибок
Лучшие старшие разработчики — это те, кто видел больше всего ошибок
👉 Больше не самозванец
Не существует единственно правильного способа быть разработчиком. Отпустите себя. Не чувствуйте себя обязанным быть героем. Вы отлично справляетесь прямо сейчас

#оффтоп
🔥8👎1
Планирование приложений — руководства Apple

Apple выпустила руководства по планированию приложений. Рассчитаны они в основном на начинающих и предлагают ссылки на справочные и учебные материалы о разных аспектах разработки.
Все они состоят из трех частей:
👉 Что вы можете сделать — какие технологии использовать и какие функции задействовать
👉 Как начать — какие инструменты и технологии вам нужны, чтобы сделать приложение
👉 Как пойти дальше — как и какими средствами расширить функционал приложения

#education
😱2👎1
Show progress of the task using SwiftUI ProgressView

Реализация ProgressView на SwiftUI в виде полосы и круга

#swiftUI
👍4👎1