SwifyWay
390 subscribers
89 photos
6 videos
5 files
131 links
Download Telegram
#МоиКляксы
После тяжелого месяца, я возвращаюсь вновь
Сегодня поговорим о диспетчеризации
Я открыт к общению и критике, так что пишите, не стесняйтесь)
https://ruby-addition-5f8.notion.site/65001c2c5fb343ccb8ef426bb92b5350
2👍1🔥1🤯1
2👍1🙏1
Статья про два распространенных метода управления паматью (ARC, GarbageCollector)

GC используется в: Java, C# и в других scripting Languages
ARC используется в: Swift и Objective-C

Отличие ARC от GC
У ARC отсутсвует фоновый процесс, который асинхронно освобождает объекты во время выполнения

🟢 Плюсы
GC может чистить графы объектов, включающих retain cycles
🔴 Минусы
Потребление дополнительной памяти для запуска алгоритмов отчистки, это оказывает серьезное влияение на систему
🔥42👍1🤯1
Интересен ли материал по операционным система?(threads, семафоры и тд)
Anonymous Poll
86%
+
14%
-
2👍1🤯1
К сожалению, скринов с задачками не будет сегодня 😭

Был собес(два часа болтали, не дали ни одной задачи)

В целом про Swift

1) ARC/MRC SideTable
2) Value, Reference types, Copy on Write
3) GCD, Operation
4) Разговоры про архитектуры(MVVM +C) и как в координатере держится ссылка на контроллер
5) Как держать слабые ссылки в массиве

UIKit

1) Frame vs AutoLayout почему я использую то или другое
2) UITableViewDiffableDataSource
3) UICollectionView vs UITableView
4) Как расширить область нажатия кнопки
5) Что делать, если конфликтуют два GestureRecognizer
6) UIView vs Layer

Xcode

1) Как использую дебаг
2) Memory graph
3) UI иерархия
Короче все, что юзал в работе, используя икс код
🔥91🙏1
Какую секцию раскрыть подробнее?
Final Results
33%
В целом Swift
36%
UIKit
31%
Инструменты Xcode
2🙏1😍1
По итогам голосования разберем UIKit

1) В моей команде есть негласная договоренность, что мелкие элементы UI, мы пишем на фреймах, потому что стараемся лишний раз не перенагружать систему через AutoLayout. По факту, используя фреймы, мы сами выстраиваем систему линейных уравнений, которые делает внутри себя AutoLayout. Особенностью фреймов я бы назвал то, что нужно думать на упреждение, ведь на новых девайсах может все отображаться криво и косо, поэтому можно использваоть как вариант UIScreen.main.bounds. В AutoLayout можно сказать про layout engine

2) В общем и целом, он позволяет, обновлять и брать безопасно данные, которые использует DataSource коллекции

3) Я бы сделал выбор в сторону UICollectionView, она дает нам больше возможностей и простоту реализации наших решений, к примеру горизонтальная коллекция). Так же можно сделать разный FlowLayout, как у инстаграмма или pinterest

4) UIEdgeInsets, или же добавить кнопку на вьюшку и переопределить hitTest

5) Ну можно залезть в hitTest и как то для себя его переопределить или у Recognizers есть такие методы как touchBegan, touchEnd с ними можно поиграться

6) Ну стандартный вопрос, начинаем с наследников UIView -> UIResponder, Layer -> NSObject, из этого вытекает то, что view обрабатывает нажатия, а Layer нет. Так же одно работает на CPU, а другое на GPU
🔥82🙏1
Задача с очередного собеса)
Что выведет?
Как починить?
Пишите в комментах ответы)
2👍1🤯1🙏1
2🤯1🙏1
Вопросы с другого собеса
Ниже все то, что я запомнил

- Что делает ARC на этапе компиляции
- Как держать слабую ссылку в массиве
- Что делать если лагает коллекция при скроле
- CALayer vs UIView
- Можно ли сделать Generic протокол(Или альтернативу ему)
- Как отменить задачу в GCD, если она уже выполняется
- Всегда ли нужно все покрывать протоколами
- Для чего ставим final
- Зачем нужен weak self в кложуре
- Какую бы архитектуру выбрал для проекта

Если хотите что то обсудить, залетайте в чат
👍31🙏1😍1
Собес можно назвать
самым ужасным

1) Чувак даже не представился
2) Никакого смол толка
3) Около 20 задач на слайдах на 30 минут
4) Собеседующий торопил
5) Запихнули в конец objc 🤡
👍6🤡2👎1🤔1
1👍1🙏1
Что будет в итоге?
Anonymous Quiz
9%
a = [0, 1] b = [0,1]
78%
a = [0, 1] b = [0]
13%
a = [0] b = [0,1]
1👍1🤯1
1👍1🤯1
Скомпилируется?
Anonymous Quiz
30%
Да
70%
Нет
1👍1🙏1
🤯21🙏1
1🤯1🙏1
1🤯1😍1