Skip to content

Instantly share code, notes, and snippets.

@ebubekirsezer
Created October 20, 2022 22:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ebubekirsezer/da93d8ad49da44888f46eb43f9065cbe to your computer and use it in GitHub Desktop.
Save ebubekirsezer/da93d8ad49da44888f46eb43f9065cbe to your computer and use it in GitHub Desktop.
//
// BaseModel.swift
// GitStar
//
// Created by EbubekirSezer on 21.10.2022.
//
import Foundation
import RealmSwift
class BaseModel: Object, ObjectKeyIdentifiable {
@Persisted var realmID: String = UUID().uuidString
@Persisted var deleted: Bool = false
static func allObjects<T>(in realm: Realm?) -> Results<T>? where T: BaseModel {
guard let realm = realm else { return nil }
guard !(realm.isInWriteTransaction) else { return nil }
let predicate = NSPredicate(format: "%K = 0", "deleted")
return realm.objects(T.self).filter(predicate)
}
func markSelfAsDeleted() {
self.deleted = true
}
func markSelfAsNotDeleted() {
self.deleted = false
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment