EasyRealm is a micro-framework (less than 200 LOC) that helps you use Realm.
| 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 |
EasyRealm import many features as :
- Deep cascade deleting
- Deep unmanaged object
- Get managed object from unmanaged object.
- Multithread Action (save / edit / delete / query)
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.
- No inheritance.
- No protocol.
- Import Framework
- Enjoy
To save an object :
let pokemon = Pokemon()
try pokemon.er.save(update: true)
//OR
let managed = try pokemon.er.saved(update: true)To edit an object :
let pokemon = Pokemon()
try pokemon.er.edit {
$0.level = 42
}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()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")- 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 objectEasyRealm is available through CocoaPods. To install it, simply add the following line to your Podfile:
use_frameworks!
pod "EasyRealm", '~> 3.2.0'github 'PoissonBallon/EasyRealm'- PoissonBallon @poissonballon
EasyRealm is available under the MIT license. See the LICENSE file for more info.