O que é Core Data e para que serve?
\n\nCore Data não é uma biblioteca no sentido tradicional (como, por exemplo, Alamofire ou SnapKit), mas sim um poderoso framework da Apple para gerenciar o modelo de dados e garantir a persistência (armazenamento) de dados em aplicativos para iOS, macOS, tvOS e watchOS. Ele está integrado ao SDK e não requer instalação separada através de gerenciadores de pacotes como CocoaPods ou Swift Package Manager.
\n\nPara que serve o Core Data? No desenvolvimento moderno de aplicativos móveis, quase sempre é necessário armazenar dados localmente: seja uma lista de tarefas, histórico de mensagens, configurações do usuário ou cache de notícias. O Core Data fornece uma pilha completa para isso, que inclui:
\n- \n
- Modelo de dados (NSManagedObjectModel) — descrição das entidades, seus atributos e relacionamentos. \n
- Contexto (NSManagedObjectContext) — um "rascunho" onde você trabalha com os objetos antes de salvá-los. \n
- Persistent Store Coordinator — a ponte entre o contexto e o armazenamento físico (SQLite, XML, arquivo binário, etc.). \n
- Persistent Container — um invólucro simplificado (introduzido no iOS 10) que combina todos os componentes. \n
Ao contrário do uso simples de SQLite ou UserDefaults, o Core Data gerencia automaticamente o ciclo de vida dos objetos, suporta reversão de alterações, carregamento preguiçoso, cache, validação e até integração com iCloud. Isso o torna uma ferramenta indispensável para qualquer aplicativo sério que trabalhe com dados.
\n\nInstalação do Core Data
\n\nO Core Data faz parte dos frameworks de sistema da Apple. Você não precisa executar pip install ou npm install. Para usá-lo, basta importar o framework para o seu projeto.
1. Adicionando o framework ao projeto
\nAo criar um novo projeto no Xcode, você pode marcar imediatamente a opção "Use Core Data". Se o projeto já existir, adicione o framework manualmente:
\n- \n
- Selecione seu projeto no navegador (Project Navigator). \n
- Vá para a aba "General" do seu alvo de compilação (Target). \n
- Role para baixo até a seção "Frameworks, Libraries, and Embedded Content". \n
- Clique em "+" e selecione
CoreData.framework. \n
2. Criando o arquivo de modelo de dados
\nVocê também precisará de um arquivo com a extensão .xcdatamodeld. Geralmente, ele é criado automaticamente ao ativar o Core Data. Se não existir, crie um novo arquivo: File → New → File → Core Data → Data Model.
3. Importação no código
\nNos arquivos Swift onde você trabalhará com Core Data, adicione:
\nimport CoreData\n\nCom isso, a instalação está concluída. O Core Data está pronto para uso.
\n\nInício rápido: exemplo de código
\n\nVamos considerar um exemplo simples: criar uma entidade "User" com os atributos "name" e "age", salvar e ler dados.
\n\nPasso 1: Criando o modelo de dados
\nAbra o arquivo .xcdatamodeld. Adicione uma entidade (Entity) com o nome "User". Adicione os atributos: name (tipo String) e age (tipo Int16). Crie uma classe para esta entidade: Editor → Create NSManagedObject Subclass. O Xcode gerará os arquivos User+CoreDataProperties.swift e User+CoreDataClass.swift.
Passo 2: Configurando o Persistent Container
\nNo AppDelegate (ou em um gerenciador separado), crie o contêiner:
\nimport CoreData\n\nclass PersistenceController {\n static let shared = PersistenceController()\n \n let container: NSPersistentContainer\n \n init() {\n container = NSPersistentContainer(name: "YourModelName") // Nome do seu arquivo .xcdatamodeld\n container.loadPersistentStores { (storeDescription, error) in\n if let error = error as NSError? {\n fatalError("Unresolved error \\(error), \\(error.userInfo)")\n }\n }\n }\n \n var cont