ErrorNil. iOS-разработка
688 subscribers
298 photos
60 videos
17 files
332 links
Пишем код, разрабатываем приложения, учимся

Сайт школы https://error-nil.namari.ru/
YouTube https://www.youtube.com/@errornil
VK Видео - https://vk.com/video/@errornil

По всем вопросам пишите мне @ibatyrgereev
Download Telegram
не спрашивайте
🤣22🔥8
И код для кастомного Layout из видео


struct FlowLayout: Layout {
var spacing: CGFloat = 12

func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize {
let maxWidth = proposal.width ?? .infinity
var rowWidth: CGFloat = 0
var rowHeight: CGFloat = 0
var totalHeight: CGFloat = 0

for subview in subviews {
let size = subview.sizeThatFits(.unspecified)
if rowWidth + size.width > maxWidth, rowWidth > 0 {
totalHeight += rowHeight + spacing
rowWidth = size.width + spacing
rowHeight = size.height
} else {
rowWidth += size.width + spacing
rowHeight = max(rowHeight, size.height)
}
}
totalHeight += rowHeight
return CGSize(width: maxWidth, height: totalHeight)
}

func placeSubviews(in bounds: CGRect, proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) {
var x = bounds.minX
var y = bounds.minY
var rowHeight: CGFloat = 0

for subview in subviews {
let size = subview.sizeThatFits(.unspecified)
if x + size.width > bounds.maxX, x > bounds.minX {
x = bounds.minX
y += rowHeight + spacing
rowHeight = 0
}
subview.place(at: CGPoint(x: x, y: y),
anchor: .topLeading,
proposal: ProposedViewSize(size))
x += size.width + spacing
rowHeight = max(rowHeight, size.height)
}
}
}
❤7
Golden Gate
⚡4
Умная Siri, опять?
👍11
Ну зато кастомизацию голоса завезли, эмейзинг
⚡6
Мне интересно, сколько им платят, за такие "искренние" улыбки
🤣9
Короче своя гугл камера, в andriod это есть с прошлого года
❤3
Инглиш фор старт
🤣6
Есть подозрение, что если вырубать по дереву каждый раз, когда произносят Apple Intelligence, то к концу презентации наступит экологическая катастрофа
🤣13
Серьезно, сколько??
🤣6
В общем тотали
❤4⚡2
Даешь Gemini в Xcode
👍3
В общем Даби Даби ДиСи (как Тим Кук говорит) максимально проходная, я в моменте и забыл, что сегодня новые оси вообще то показали (27 уже), основной акцент на AI и в частности Siri AI, но это уже традиция последних презентаций (правда Гугл в этом плане не переплюнуть).

В моменте я просто считал количество улыбающихся "неподдельной" улыбкой людей, наверное тоже показатель.

Из интересного, api для разработчиков, можно будет умные ИИ штуки сразу на телефоне делать, без rest запросов и трат токенов, в общем бесплатно, интересно поюзать как это работает. Ну и репчик в конце, одна из лучших частей.

Бетка доступна уже завтра, но обновляйтесь на свой страх и риск, я конечно не советую
👍7
📱 Если работали с MLXLLM в ios и теперь думаете, чем от него отличается Core AI, то я подготовил статью специально на этот случай (спасибо gpt)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Кстати, сделать видео с примером как запускать локально на iphone LLM, через MLX
Anonymous Quiz
95%
Да
5%
Нет
Ученики не успели выпуститья, а уже пишут полноценные проекты)

Очень полезное (и очень красивое) приложение (для Mac) от одного из выпускников.

Решение для тех, кто беспокоится о безопасности ключей при запросах.
👏3💯3❤1🤣1
Media is too big
VIEW IN TELEGRAM
Модель Qwen3-1.7B-MLX-bf16
Локальный запуск через MLX.

Реальная скорость работы на iPhone Air.

Чувствуется как телефон напрягается, немного греется и генерация работает с артефактами, но для определённых задач в целом можно использовать, это полностью бесплатно, работает без интернета и данные никуда не передаются
1⚡5❤1
Есть тут сеньеры?
Набирают в стартап, зп привлекательная)
❤6