Что нового в фото пикере в iOS 15
При поднятии минимального таргета еще больше поводов заменить кастомный пикер на системный:
- Упорядоченный выбор фото, идеально для медиа публикаций
- Отображение прогресса загрузки фото из iCloud
- Можно создавать и обновлять альбомы с ограниченным доступом к галерее
- Изменение выбранных фото. Открывается с выбранными пользователем фотографиями
#iOS15 #PhotoKit #PHPhotoLibrary #PHPicker
При поднятии минимального таргета еще больше поводов заменить кастомный пикер на системный:
- Упорядоченный выбор фото, идеально для медиа публикаций
- Отображение прогресса загрузки фото из iCloud
- Можно создавать и обновлять альбомы с ограниченным доступом к галерее
- Изменение выбранных фото. Открывается с выбранными пользователем фотографиями
#iOS15 #PhotoKit #PHPhotoLibrary #PHPicker
👍7👎2🔥1
Где хранятся reference и value типы?
Anonymous Quiz
14%
Reference типы хранятся в стеке а Value типы хранятся в куче
52%
Reference типы хранятся в куче а Value типы хранятся в стеке
3%
Reference и Value типы хранятся в куче
2%
Reference и Value типы хранятся в стеке
29%
Расположение Reference и Value типов в памяти зависит от решения компилятора
😁6👎4🔥4
Swift не дает никаких гарантий, где хранятся объекты и структуры, за исключением того, что:
- Reference типы имеют постоянное расположение в памяти
- Расположение Value типов может быть изменено по усмотрению компилятора
Оптимизация Value типов выглядит следующим образом:
- При работа с небольшими структурами компилятор может поместить их в регистры и вообще не выделять место в куче. Это касается простых Int и Double, которые гарантированно помещаются в регистры
- Структуры размером более 3 машинных слов (24 байта на 64-битной машине) могут быть аллоцированы в куче.
Это не противоречит поведению Value типов. Их по-прежнему можно произвольно копировать и компилятор хорошо справляется с избеганием ненужных выделений памяти там, где это возможно.
Детально это раскрывается в лекции Understanding Swift Performance
Актуальную реализацию можно посмотреть в SIL файле Swift
#Swift #MemoryLayout
- Reference типы имеют постоянное расположение в памяти
- Расположение Value типов может быть изменено по усмотрению компилятора
Оптимизация Value типов выглядит следующим образом:
- При работа с небольшими структурами компилятор может поместить их в регистры и вообще не выделять место в куче. Это касается простых Int и Double, которые гарантированно помещаются в регистры
- Структуры размером более 3 машинных слов (24 байта на 64-битной машине) могут быть аллоцированы в куче.
Это не противоречит поведению Value типов. Их по-прежнему можно произвольно копировать и компилятор хорошо справляется с избеганием ненужных выделений памяти там, где это возможно.
Детально это раскрывается в лекции Understanding Swift Performance
Актуальную реализацию можно посмотреть в SIL файле Swift
#Swift #MemoryLayout
👍15👎1
Swift Intermediate Language (7 минут)
Для тех кто заинтересовался SIL после опроса, короткое но достаточное для понимания описание фаз компиляции, SIL фаз оптимизаций и связи с LLVM
#swift #SIL #LLVM
Для тех кто заинтересовался SIL после опроса, короткое но достаточное для понимания описание фаз компиляции, SIL фаз оптимизаций и связи с LLVM
#swift #SIL #LLVM
❤5👎2
OSLog и унифицированное логирование в соответствии с рекомендациями Apple (6 мин)
Если вы все еще используете print выражения для логирования, самое время перейти на OSLog
👉 Несколько встроенных уровней логирования
👉 Xcode и консоль форматируют уровни логирования
👉 Возможность управлять уровнем детализации метаданных в логах
#swift #OSLog
Если вы все еще используете print выражения для логирования, самое время перейти на OSLog
👉 Несколько встроенных уровней логирования
👉 Xcode и консоль форматируют уровни логирования
👉 Возможность управлять уровнем детализации метаданных в логах
#swift #OSLog
👍7👎1
Создаем гибкие интерфейсы
Один из самых недооцененных докладов WWDC, он вышел в 2018 году и до сих пор не потерял в актуальности
👉 Как в Apple работают над деталями в интерфейсе, чтобы он ощущался продолжением тела
👉 Как делать анимации дружественными и понятными
👉 Как обрабатывать пользовательские действия
Очень много примеров которые заставят вас взглянуть по-другому на анимации, жесты и мелкие нюансы, которые делают приложения по-настоящему нативными. Тот самый look&feel о котором все говорят но никто не может объяснить
#wwdc #design #gestures
Один из самых недооцененных докладов WWDC, он вышел в 2018 году и до сих пор не потерял в актуальности
👉 Как в Apple работают над деталями в интерфейсе, чтобы он ощущался продолжением тела
👉 Как делать анимации дружественными и понятными
👉 Как обрабатывать пользовательские действия
Очень много примеров которые заставят вас взглянуть по-другому на анимации, жесты и мелкие нюансы, которые делают приложения по-настоящему нативными. Тот самый look&feel о котором все говорят но никто не может объяснить
#wwdc #design #gestures
❤5👎2👍1