EasyRealm 3.4.0

EasyRealm 3.4.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Feb 2019
SPMSupports SPM

Maintained by Allan Vialatte.



EasyRealm 3.4.0

EasyRealm

Version Carthage compatible Platform Build Status Swift 4.2 codecov License

EasyRealm is a micro-framework (less than 200 LOC) that helps you use Realm.

Versions guides

Swift Realm EasyRealm
3.0 >= 2.4 2.0.1
3.2 / 4.0 >= 3.1.0 >= 3.0.0
4.2 >= 3.10 >= 3.4.0

Keys Features

EasyRealm import many features as :

  • Deep cascade deleting
  • Deep unmanaged object
  • Get managed object from unmanaged object.
  • Multithread Action (save / edit / delete / query)

Promise

EasyRealm make 4 promises :

  • EasyRealm never transform secretly an unmanaged Object to a managed Object and vice-versa.
  • EasyRealm let you use managed and unmanaged objects identically.
  • EasyRealm never manipulate thread behind your back, you keep full control of your process flow.
  • EasyRealm never handle Error for you.

Examples

Using

  • No inheritance.
  • No protocol.
  • Import Framework
  • Enjoy

Save

To save an object :

let pokemon = Pokemon()
try pokemon.er.save(update: true)
//OR
let managed = try pokemon.er.saved(update: true)

Edit

To edit an object :

let pokemon = Pokemon()

try pokemon.er.edit {
  $0.level = 42
}

Delete

To delete an object :

let pokemon = Pokemon(name: "Pikachu")

try pokemon.er.delete()
//or
try pokemon.er.delete(with: .simple)
//or
try pokemon.er.delete(with: .cascade)

To delete all objects :

try Pokemon.er.deleteAll()

Queries

To query all objects of one type :

let pokemons = try Pokemon.er.all()

To query one object by its primaryKey :

let pokemon = Pokemon.er.fromRealm(with: "Pikachu")

Helping Variables

  • isManaged :
pokemon.er.isManaged // Return true if realm != nil and return false if realm == nil
  • managed :
pokemon.er.managed // Return the managed version of the object if one exist in Realm Database
  • unmanaged :
pokemon.er.unmanaged // Return an unmanaged version of the object

Installation

EasyRealm is available through CocoaPods. To install it, simply add the following line to your Podfile:

CocoaPods

use_frameworks!
pod "EasyRealm", '~> 3.2.0'

Carthage

github 'PoissonBallon/EasyRealm'

Author

License

EasyRealm is available under the MIT license. See the LICENSE file for more info.

Other