CORE DATA (SAVE)

Attributes alanında sql tarzında sütunlar oluşturulmaktadır. 

Önemli : CoreData import edilmelidir.

Veri Kaydetme

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newPainting = NSEntityDescription.insertNewObject(forEntityName: "Paintings", into: context)

newPainting.setValue(UUID(), forKey: "id") 
newPainting.setValue(nameInput.text!, forKey: "name") 
newPainting.setValue(artistInput.text!, forKey: "artist")

if let year = Int(yearInput.text!) {
  newPainting.setValue(year, forKey: "year")
} 

let imageData = imageView.image?.jpegData(compressionQuality: 0.5)    

newPainting.setValue(imageData, forKey: "image")

  do {
   try context.save()
    print("save")
   } catch {
    print("error")
  }

CORE DATA (FETCH)

Veri Çekme

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Paintings") 
fetchRequest.returnsObjectsAsFaults = false
do{
let results = try context.fetch(fetchRequest)
if results > 0 {
 for result in results as! [NSManagedObject] {

  if let name = result.value(forKey: "name") as? String {
   self.nameArray.append(name)
  }

  if let id = result.value(forKey: "id") as? UUID {
   self.idArray.append(id)
  }

 }
}    

 self.tableView.reloadData() 

} catch {
 print("error")
}

Filtreleyerek Veri Çekme

fetchRequest.predicate = NSPredicate(format: "id = %@", idString! )            

Veriyi Silme İşlemi

For in döngüsü içerisinde

// for result in results { …
context.delete(result) 
// ...
// }

2 thoughts on “CoreData ile Veri İşlemleri”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir