İçeriğe geç

Realm veritabanı sorgulama

Merhabalar bu yazımda Realm ile veritabanı sorgulama işlemini nasıl gerçekleştirebileceğinizi göstereceğim.

Core Data ve SQLite ile karşılaştırıldığında sorgulama ve filtreleme işlemlerinin çoğu durumda hızlı gerçekleştiğini söyleyebiliriz. Veritabanında sorgulama işleminin en çok kullanılan işlem olduğunu düşündüğümüzde performans bizim için çok önemli. Tabiki performans 10,100,1000 veri ile ölçülemez. Milyonlarca kayıt arasından gelecek cevap bize performans süresini göstermiş olur. Tabi local veritabanı olarak kullandığımız Realm ile localda ne kadar veri saklayabileceğiniz tartışılır 🙂

Filtreleme işlemleri için NSPredict ile kullanılan tüm özellikleri kullanabiliriz. Sıralama için ise sıralanacak key değerini belirlememiz gerekli.

func filterObj(predict: String) -> Results<Item> {
        return db.objects(Item.self).filter(predict)
    }
    
func sortedObj(key:String) -> Results<Item> {
        return db.objects(Item.self).sorted(byKeyPath: key, ascending: false)
    }

Bundan önceki yazımda kullandığım helper sınıfına bu fonksiyonları ekleme yapabiliriz.

Kullanımlarıda aşağıdaki gibi olacaktır.

var rh = RealmHelper.instance
let objFilter = rh.filterObj(predict: "name = 'Kenan'")
let objSorted = rh.sortedObj(key: "id")

 

Tarih:Realm

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca