Всем привет! Сегодня поговорим про библиотеку для работы с данными - SQLiteData, которая сочетает проверенную надежность SQLite с современным Swift-подходом. В основе библиотеки лежит идея предоставить разработчикам привычные инструменты, подобные тем, что есть в SwiftData, но с более предсказуемым поведением.
Модели данных:
Модели данных описываются с помощью структур и перечислений, что делает код интуитивно понятным и соответствующим духу Swift. Это обеспечивает:
🔵Естественную работу с типами данных.
🔵Безопасность на этапе компиляции.
🔵Простоту в сопровождении и расширении.
Работа с запросами:
Для выборки данных предлагаются типобезопасные запросы, которые интегрируются в интерфейс через property wrappers. Важно, что эти обертки работают не только в SwiftUI, но и в любых
@Observable моделях, а также в контроллерах UIKit, что обеспечивает универсальность подхода.Интеграция с CloudKit:
Библиотека включает прямой доступ к возможностям CloudKit, обеспечивая:
🔵Синхронизацию данных между устройствами.
🔵Функцию совместного использования с другими пользователями.
Это избавляет от необходимости самостоятельной интеграции сторонних решений.
Технологическая основа:
В качестве основы используется SQLite через драйвер GRDB, что гарантирует высокую производительность и отказоустойчивость. Такой выбор технологии означает полный контроль над схемой данных и процессами миграции.
Пример:
// Модель
@Table
struct Task: Identifiable {
let id: UUID
var title: String
var isCompleted: Bool
}
struct TasksView: View {
// Запрос
@FetchAll(Task.where { !$0.isCompleted })
var pendingTasks
var body: some View {
List(pendingTasks) { task in
Text(task.title)
}
}
}
🔗 Подробнее по ссылке
💡 Вывод:
SQLiteData позиционируется как готовое решение для проектов, где важны стабильность, прозрачность работы с данными и современный подход к их обработке. Библиотека предлагает оптимальное сочетание надежности SQLite и современных Swift-практик.
➡️ Подписаться на канал
Мобильный трудоголик