Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
CRUD é um acrônimo que representa as quatro operações básicas de persistência de dados: Create (Criar), Read (Ler), Update (Atualizar) e Delete (Excluir). Essas operações são fundamentais em praticamente todas as aplicações que interagem com bancos de dados. No ambiente Apple, especialmente ao desenvolver para iOS e macOS, essas operações são frequentemente implementadas utilizando Core Data, uma framework poderosa para gerenciamento de dados.
Core Data não é apenas um ORM (Object-Relational Mapping); ele também oferece funcionalidades avançadas como gerenciamento de ciclo de vida de objetos, persistência de dados, e suporte a consultas complexas. Neste artigo, vamos explorar como implementar operações CRUD utilizando Core Data em um projeto Swift.
Exemplos:
Configuração do Core Data: Primeiro, precisamos configurar o Core Data no nosso projeto. No Xcode, crie um novo projeto e selecione a opção "Use Core Data".
Modelo de Dados: Depois de configurar o Core Data, crie um modelo de dados. Adicione uma nova entidade chamada "Pessoa" com atributos como "nome" (String) e "idade" (Integer).
Operações CRUD:
Create (Criar):
import CoreData
import UIKit
class DataManager {
static let shared = DataManager()
let persistentContainer: NSPersistentContainer
private init() {
persistentContainer = NSPersistentContainer(name: "MeuModelo")
persistentContainer.loadPersistentStores { (description, error) in
if let error = error {
fatalError("Erro ao carregar o Core Data stack: \(error)")
}
}
}
func createPessoa(nome: String, idade: Int16) {
let context = persistentContainer.viewContext
let pessoa = Pessoa(context: context)
pessoa.nome = nome
pessoa.idade = idade
do {
try context.save()
} catch {
print("Erro ao salvar a pessoa: \(error)")
}
}
}
Read (Ler):
func fetchPessoas() -> [Pessoa] {
let context = persistentContainer.viewContext
let fetchRequest: NSFetchRequest<Pessoa> = Pessoa.fetchRequest()
do {
return try context.fetch(fetchRequest)
} catch {
print("Erro ao buscar pessoas: \(error)")
return []
}
}
Update (Atualizar):
func updatePessoa(pessoa: Pessoa, novoNome: String, novaIdade: Int16) {
let context = persistentContainer.viewContext
pessoa.nome = novoNome
pessoa.idade = novaIdade
do {
try context.save()
} catch {
print("Erro ao atualizar a pessoa: \(error)")
}
}
Delete (Excluir):
func deletePessoa(pessoa: Pessoa) {
let context = persistentContainer.viewContext
context.delete(pessoa)
do {
try context.save()
} catch {
print("Erro ao excluir a pessoa: \(error)")
}
}