- unowned — это слабая ссылка, но с гарантией, что объект ещё существует во время обращения. Если объект уже освобождён — произойдёт крах (crash).
- unowned(unsafe) — ещё менее безопасный вариант, не делает проверку на nil вообще. Это низкоуровневая, "сырой" доступ к памяти, использовать его нужно крайне осторожно.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
10%
Threads
85%
DispatchQueue
1%
Timers
4%
Operations
Anonymous Quiz
47%
Использование DispatchQueue.main.async
50%
Применение DispatchQueue.global().async
1%
Использование performSelectorInBackground
3%
Применение asyncAfter
💊2
В MVVM ViewModel не зависит от View и может быть протестирован отдельно, используется data-binding. В MVP Presenter управляет View, напрямую вызывая методы, и структура становится более императивной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
31%
isNumeric()
44%
isNumber()
20%
isDigit()
5%
allSatisfy(_:)
Anonymous Quiz
4%
Array
37%
Enum
3%
Struct
56%
Dictionary
💊3
Codable-совместимые объекты можно сериализовать в Data и хранить в UserDefaults. Это удобный способ сохранять кастомные структуры.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
77%
map(_:)
9%
filter(_:)
10%
reduce(_:)
3%
accumulate(_:)
Anonymous Quiz
67%
Использование defer
6%
Применение finally
11%
Использование guard
16%
Применение catch
Опциональные методы в протоколах могут нарушать принцип подстановки Лисков (LSP). Подклассы могут не реализовать метод, и это делает невозможным гарантировать поведение базового контракта.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊5👍1
Anonymous Quiz
37%
Модификатор доступа private
48%
Модификатор доступа internal
12%
Модификатор доступа fileprivate
3%
Модификатор доступа public
Anonymous Quiz
5%
weak
92%
lazy
1%
unowned
2%
deferred
TestFlight — это инструмент Apple для распространения бета-версий приложений среди тестировщиков. Он позволяет собирать фидбек, отслеживать сбои и тестировать новые функции до релиза в App Store.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
75%
Использование DispatchQueue с серийной очередью
10%
Применение операций с барьерами
5%
Создание множества замыканий в одной функции
10%
Организация зависимостей между NSOperations
💊2
Anonymous Quiz
2%
Ограничивает замыкание до терминации функции
90%
Позволяет замыканию быть переданным или вызванным после завершения функции
4%
Применяет замыкание только как входной параметр
5%
Делает замыкание доступным только внутри тела функции
На iOS используется UIImagePickerController, на Android — Intent.ACTION_PICK. После выбора пользовательского изображения возвращается UIImage (iOS) или Uri (Android).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6
Anonymous Quiz
17%
Delegation
26%
Adapter
42%
Protocol Extension
15%
Type Erasure
Anonymous Quiz
73%
Использование DispatchQueue.asyncAfter
10%
Применение sleep()
15%
Запуск функции в фоновом потоке с задержкой
2%
Использование таймера NSTimer
Это называется Copy-on-Write (COW). Он работает так:
- Пока копия массива (или строки) не изменяется, они разделяют один и тот же блок памяти.
- При попытке модификации создаётся новая копия. Такой механизм экономит память и повышает производительность при передаче больших структур.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
20%
VersionControl
77%
Git
1%
SVN
2%
CVS
💊2