Swift Core Data Kullanımı

Tunahan Özataç
Berkut Teknoloji
Published in
3 min readOct 20, 2022

Selamlar, bu yazımda iOS uygulama geliştirken oldukça işimize yarıyacak Core Datayı inceliyor olacağız. Hadi başlayalım o zaman. 🥳

Core Data Nedir?

Core Data, en kısa tanımla bir veri tabanıdır. Geliştiricilerin yüksek performanslı ve veriye dayalı iOS ve macOS uygulamaları geliştirmesini sağlayan güçlü bir veritabanıdır.

  • Core Data sayesinde kalıcı verilerimizi çevrimdışı kullanımda da saklayabiliriz.
  • Stabil ve güvenliği sayesinde 3. parti kütüphanelere ihtiyaç duymadan rahatlıkla kullanılabilir.

Core Data Kullanımı?

Core Datayı kullanabilmek için projeyi oluşturken Use Core Data seçeceğini seçmemiz gerekiyor bu sayede Xcode bizim için gerekli dosyaları hazırlıyor.

Var olan bir projeye Core Datayı da eklemek isteyebiliriz, bu durumda yapmamız gereken de kolay,

  • Proje seçili iken New file > Data Model seçip ismini tanımlayıp oluşturuyoruz.
  • Daha sonra test için Use Core Data seçip bi proje oluşturuyoruz sebebi ise AppDelegate classını açıp data model alanının tümünü kopyalıyoruz. Kendi projemize dönerek ismini değiştirip şekilde kullanabiliriz.

Projeyi oluşturduktan sonra .xcdatamodel isimli dosyamız oluşuyor bu dosya modelimizdir. Objelerin tanımlarını ve bağlantılarını içerir.

Alt bölümde bulunan Add Entity diyerek yeni bir entity oluşturuyoruz ve dilersek üstüne çift tıklayarak ismini değiştirebiliyoruz. Daha sonra entity içerisinde tutacağımız verilerin özelliklerini tanımlamamız gerekiyor.

  • Entity içerisinde oluşturacağımız verilerin tiplerini kendimize uygun seçebiliriz.
Data Type

Entity’yi tanımladıktan sonra sıra Storyboard kısmına geliyoruz ve tasarımları hazırlamaya uygulamamızda bi liste ve detay ekranı olacak, liste ekranına bir adet TableView ekledim burada Core Data ya kaydettiğimiz verinin başlığını göstereceğiz. Detaya gittiğinde içerik hakkında bilgi vereceğiz. TopBardan tıklandığında verileri kaydedeceğimiz ekrana yönleneceğiz.

Core Datayı anlatmaya çalıştığım için tasarım konusuna değinmedim projenin kaynak kodlarını ekleyeceğim oradan erişebilirsiniz. :)

Sıra Core Dataya verileri kaydetmeye geldi. İlk olarak Core Data’ yı import ediyoruz. Sonra AppDelegate.swift içerisindeki saveContext methoduna ulaşabilmek için appDelegete tanımlıyoruz. Sırada Core Data işlemi yapacağımızı belirttik ve bağlantımızı hazırladık.

newPlaces.setValue() diyerek kaydetmek istediğimiz verileri key vererek kaydediyoruz. En sonunda da context.save() diyerek Core Data’ ya kaydettik.

Save Core Data

Kaydetme işlemini başarılı bir şekilde tamamladık sıra kaydedilen verileri fetch ile almakta. Kaydetme işlemindeki appDelegate kısımlarını fetch ederkende aynı şekilde tek fark NSFetchRequest oluşturmamız gerekiyor.

NSManagedObject bize dizi döndüğü için içerisinde istediğimiz veriye rahatlıkla ulaşabiliyoruz ve ardından tableView’a veriyoruz ardından tableView’ı yeniden yüklüyoruz.

Fetch Core Data

Core Data ile kaydetme ve fetch ile verileri almaya baktık şimdi silme işlemine bakalım. İlk başta silme işlemini tableview’in editingStyle özelliği ile yapıyoruz. AppDelegate kısımların silmede aynı şekilde kullanıyoruz. FetchRequest oluşturup ilgili datayı çekip daha sonra silme işlemini gerçekleştiriyoruz.

Delete Core Data

Silme işlemide bu şekilde tamamlamış olduk uygulamanın çalışır halinide görelim.

Bu yazımda Swift Core Data Kullanımını temel seviyede anlatmaya çalıştım. Kaynak kodlara buradan ulaşabilirsiniz. Umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere. 😊

Kaynaklar:

--

--