Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
19%
Использование try async
9%
Применение await try
31%
Использование try await
41%
Применение async throws
Anonymous Quiz
72%
Применение паттерна Singleton
14%
Определение класса как final
11%
Использование static метода создания
3%
Закрытие всех конструкторов кроме одного
Реактивное программирование упрощает обработку асинхронных потоков данных, таких как события пользовательского интерфейса, API-запросы или изменения состояния. Основные проблемы, которые оно решает:
1. Управление сложными зависимостями между событиями.
2. Обработка потоков данных без блокировки.
3. Упрощение цепочек вызовов через декларативный стиль.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
14%
Использование Data Observing
27%
Применение Property Observers
49%
Реализация KVO (Key-Value Observing)
10%
Определение замыканий для наблюдения
Anonymous Quiz
69%
Использование DispatchGroup
6%
Применение Promise
11%
Использование async let
13%
Применение async sequence
2. Избыточность кода: Часто создаются дополнительные слои, которые могут быть неоправданны для простых задач.
3. Сложность поддержки: При большом количестве компонентов управление их связями становится трудоемким.
4. Крутая кривая обучения: Требует значительного опыта и дисциплины для корректной реализации.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Anonymous Quiz
31%
Использование ограничений на дженерик типы
5%
Применение фильтра в расширении
53%
Определение расширения с where
11%
Использование специфичного протокола для элементов
Anonymous Quiz
42%
Использование Any
20%
Применение обобщенных функций
11%
Возврат Tuple
27%
Использование enums с ассоциированными значениями
1. Асинхронность: Управляет задачами так, чтобы они не блокировали выполнение других операций, независимо от числа потоков.
2. Многопоточность: Использует несколько потоков для параллельного выполнения задач.
Асинхронность может быть реализована на одном потоке, например, с помощью событийного цикла.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
54%
Реализация Equatable
20%
Перегрузка оператора ==
13%
Применение метода isEqual
13%
Использование Comparable
💊1
Anonymous Quiz
16%
DispatchQueue.main
72%
DispatchGroup
7%
OperationQueue
6%
Semaphore
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
88%
Ограничение доступа в пределах одного файла
6%
Ограничение доступа в пределах модуля
4%
Ограничение доступа в пределах класса
3%
Ограничение доступа в пределах пакета
Anonymous Quiz
3%
Prototype
4%
Builder
92%
Singleton
1%
Factory
1. Сложная структура данных: Если данные плохо организованы, то сложно правильно настроить отображение.
2. Проблемы с повторным использованием: Неправильно настроенные ячейки могут не учитывать переиспользование в UITableView или UICollectionView.
3. Отсутствие четкого дизайна: Если нет ясного понимания, что должна отображать ячейка, её реализация становится затруднительной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
19%
Delegate
21%
Redux
21%
ViewModel
39%
Coordinator
Anonymous Quiz
22%
Instruments
41%
Profiler
17%
Analyzer
20%
Debugger
1. Главный поток отвечает за обновление пользовательского интерфейса.
2. Его блокировка приводит к зависанию приложения и ухудшению пользовательского опыта.
3. Возможна ошибка "Application Not Responding" (ANR).
Как избежать:
1. Выполняйте ресурсоемкие задачи (сеть, вычисления) в фоновых потоках с использованием DispatchQueue, NSOperationQueue или Coroutines.
2. Используйте асинхронные операции с callback-ами, Promise, или реактивными библиотеками (RxSwift).
3. Минимизируйте время выполнения операций, требующих обновления UI, чтобы быстрее возвращаться в главный поток.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
6%
Использование synchronization
8%
Применение atomic properties
58%
Использование DispatchQueue
28%
Применение NSLock