Каждый iOS-разработчик знает, как много времени уходит на рутину: верстка экранов, настройка Core Data, связывание UI с логикой через Combine. Я собрал 15 промтов, которые реально использую в работе с AI-ассистентами. Они экономят мне по 15–20 минут в день. Вот они.
SwiftUI: от простых view до оптимизации
1. Карточка товара
Промт:
Создай SwiftUI view для карточки товара с изображением, ценой и кнопкой. Используй ZStack, VStack, shadow и cornerRadius.
Пример использования: Этот промт помогает быстро набросать UI для интернет-магазина. Вставьте ответ в проект и подстройте цвета.
Пример результата:
struct ProductCard: View {
var body: some View {
VStack(alignment: .leading) {
Color.clear
.frame(height: 120)
.overlay(Image("product").resizable().scaledToFit())
Text("iPhone 15 Pro")
.font(.headline)
Text("$999")
.foregroundColor(.secondary)
Button("Купить") { }
.buttonStyle(.borderedProminent)
}
.padding()
.background(Color(.systemBackground))
.cornerRadius(16)
.shadow(radius: 4)
}
}
2. Оптимизация списка
Промт:
Замени List на LazyVStack в SwiftUI для отображения 1000 элементов. Добавь секции и идентификаторы.
Зачем: List создаёт все ячейки сразу, LazyVStack — лениво. Это критично для больших лент.
3. Мост UIKit и SwiftUI
Промт:
Создай UIViewRepresentable для обертки UIScrollView. Передай callback для scrollViewDidScroll.
Применение: Интеграция старых компонентов в новый SwiftUI-проект.
4. Круглые углы и тень
Промт:
Напиши SwiftUI view с фоном, углами 16 и тенью через layer. Покажи код.
Совет: Уточните цвет тени и радиус.
5. Auto Layout в UIKit
Промт:
Создай кнопку в центре экрана через NSLayoutConstraint. Используй translatesAutoresizingMaskIntoConstraints = false.
Результат: Готовый код без конфликтов.
6. Градиентный фон
Промт:
Создай CAGradientLayer для UIView с диагональным градиентом от синего к зелёному.
Core Data: стек, миграция, fetch
7. Стандартный стек
Промт:
Создай PersistenceController для SwiftUI c NSPersistentContainer. Добавь в Environment.
Объяснение: Это базовый шаблон для работы с Core Data.
8. Lightweight миграция
Промт:
Настрой NSPersistentStoreDescription для автоматической лёгкой миграции модели.
Важно: Миграция нужна при каждом изменении модели. Apple поддерживает лёгкие миграции автоматически.
9. FetchRequest с фильтром
Промт:
Напиши @FetchRequest с предикатом: date > сегодня. Отсортируй по title.
Пример: Для списка задач с дедлайном.
10. Сохранение и ошибки
Промт:
Напиши функцию saveContext() с обработкой ошибок для NSManagedObjectContext.
Combine: от запросов до тестов
11. Сетевой запрос
Промт:
Создай Combine pipeline: URLSession.shared.dataTaskPublisher, decode JSON, receive on main.
Зачем: Получение данных без Combine-обвязки.
12. Отмена подписок
Промт:
Объясни, как использовать AnyCancellable и store(in:). Приведи пример для NotificationCenter publisher.
13. Паблишер текста
Промт:
Создай Publisher для UITextField в UIKit, который эмитит изменения текста.
14. Unit-тесты Combine
Промт:
Напиши тест для Combine pipeline, используя XCTestExpectation. Проверь, что получается правильное значение.
15. MVVM рефакторинг
Промт:
Перепиши этот код с @State на @StateObject. Покажи полный класс ObservableObject.
Как получить максимум
- Всегда указывайте версию Swift (5.9) и iOS (17+), чтобы AI давал актуальные ответы.
- Если ответ выглядит устаревшим, добавьте «используй iOS 17 API» или «без для iOS 16».
- Проверяйте код из AI на реальном устройстве — некоторые API требуют прав или имеют особенности.
Официальные источники:
- SwiftUI Documentation
- Core Data
- Combine
Эти промты — не магия, а способ быстрее добираться до сути. Они сокращают время на набор шаблонного кода, но не отменяют необходимости разбираться в архитектуре. Адаптируйте их под свои проекты — и делитесь в комментариях рабочими вариантами. А если хотите системно прокачаться в Swift и iOS — этот блог поможет.
Комментарии