Чтобы создать вью с нестандартной формой, нужно:
1. Переопределить метод draw(_:) в кастомном UIView.
2. Использовать API Core Graphics, например UIBezierPath, CGContext.
3. Для маски или формы — можно задать layer.mask или использовать CAShapeLayer.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Anonymous Quiz
15%
Integer
84%
Int
1%
Number
1%
Float
🤔6💊2
Anonymous Quiz
13%
Использование наследования
29%
Применение композиции и протоколов
52%
Расширение с помощью extension
7%
Использование delegation
hitTest не будет вызван или вернёт nil, если вью:
- Скрыта (isHidden = true)
- Прозрачна (alpha <= 0.01)
- Отключена от взаимодействия (isUserInteractionEnabled = false)
- Или точка касания не входит в её bounds (pointInside == false)
Также, если у superview не проходит проверка, все её сабвью будут проигнорированы.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Anonymous Quiz
91%
Рекурсия
2%
Итерация
6%
Замыкание
1%
Лямбда-выражение
Anonymous Quiz
6%
Array
43%
Set
10%
Dictionary
42%
OrderedSet
Это мощный способ построения гибких layout'ов без сложного наследования от UICollectionViewLayout. Используется иерархия: Item → Group → Section → Layout. Позволяет создать сложные, адаптивные, горизонтальные/вертикальные списки, карусели и пр.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
68%
reversed()
26%
reverse()
5%
backward()
1%
flip()
Anonymous Quiz
21%
private
75%
fileprivate
3%
internal
0%
open
Анимации — это плавные изменения свойств UIView (размер, позиция, прозрачность, цвет и т.д.). UIKit предоставляет простые API для создания анимаций через блоки с указанием продолжительности, задержек и эффектов.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
5%
struct
6%
class
66%
protocol
23%
extension
Anonymous Quiz
23%
SNMP
13%
FTP
41%
SOAP
23%
HTTP/2
💊10
Dependency Inversion — это принцип, согласно которому высокоуровневые модули не должны зависеть от низкоуровневых напрямую, а через абстракции. Dependency Injection — это механизм, с помощью которого зависимости передаются извне, реализуя этот принцип.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Anonymous Quiz
23%
Использование XCTestExpectation
32%
Применение Async/Await в тестах
36%
Создание моков для сетевых вызовов
9%
Организация callback-функций в тестах
Anonymous Quiz
93%
async
7%
await
1%
defer
0%
dispatch
🤔1
В iOS такой термин не используется в явном виде. Возможно, имелся в виду vtable (таблица виртуальных функций) или symbol table. В контексте Swift она создаётся на этапе компиляции для классов с динамической диспетчеризацией.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊11🤔4
Anonymous Quiz
3%
Управление доступом к функциям
31%
Инкапсуляция и скрытие данных
42%
Добавление типобезопасности без реального хранения значений типа
23%
Определение типов, которые не могут быть созданы
Anonymous Quiz
14%
Использование NotificationCenter
19%
Применение delegate и data source
41%
Использование KVO и Core Data
25%
Применение reactive programming моделей
Каждая переменная, объявленная как strong, увеличивает счётчик ссылок (reference count) объекта на 1. Когда переменная теряет ссылку (например, выходит из области видимости или получает nil), счётчик уменьшается. Объект существует, пока хотя бы одна strong-ссылка на него жива
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
89%
Использование deinit
5%
Применение willSet
3%
Использование finalize
2%
Применение beforeDestroy