Go to file
Ivan Vavilov f69e0956fa
Merge pull request #13 from starxor/bugfix/fix_default_configuration_usage
Use Realm.Configuration instead of RealmConfiguration
2018-06-19 13:02:05 +03:00
DAO/Classes Убран лишний враппер Realm.Configuration. Добавлена возможность использования пользовательской конфигурации. Ранее всегда использовалась конфигурация Realm по умолчанию что приводит к невозможности использовать различные схемы и файлы бд в приложениях. 2018-06-19 12:29:12 +03:00
DAO Framework Add Carthage support 2017-08-02 12:26:46 +03:00
Example Merge branch 'develop' into bugfix/fix_default_configuration_usage 2018-06-19 13:01:30 +03:00
.gitignore Initial commit 2017-06-13 14:06:20 +03:00
DAO.podspec Bump version, pod update 2018-06-18 11:45:35 +03:00
LICENSE Initial commit 2017-06-13 14:06:20 +03:00
README.md Merge branch 'develop' into bugfix/fix_default_configuration_usage 2018-06-19 13:01:30 +03:00
_Pods.xcodeproj Initial commit 2017-06-13 14:06:20 +03:00

README.md

Issues count Cocoapod Swift License

DAO

An implementation of DAO pattern for CoreData and Realm. Helps you think less about database in your application.

Features

  • Use your persistence layer synchronously for CRUD operations.
  • Abstraction of database objects (entries) from application objects (entities).
  • Abstraction from concurrency.

Install

Cocoapods

For using with CoreData:

pod 'DAO/CoreData'

Or with Realm:

pod 'DAO/Realm'

Usage

// Create DAO instance
let dao = RealmDAO(RLMMessageTranslator())

//...

// Create message entity
let message = Message(entityId: "abc", text: "text")

// Save message to database
try? dao.persist(message)

// Read saved message from database
let savedMessage = dao.read(message.entityId)

// Delete message from database
try? dao.erase(message.entityId)

Please look at the example project for more information.

  • If you have big and complex database schema. Many entities, many relationships.
  • If you want to use specific features of database. Realm Mobile Platform, for instance is not compatible with DAO implementation.
  • If you have thousands of objects (> 10-20K). Performance can be the issue.

Requirements

  • Xcode 9
  • Swift 4
  • iOS 9

Authors

Ivan Vavilov - iv@redmadrobot.com