TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Apr 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by pisces.
import OrangeRealm
import RealmSwift
import OrangeRealm
class SampleRealmManager: AbstractRealmManager {
// MARK: - Overridden: AbstractRealmManager
override class var shared: AbstractRealmManager {
struct Static {
static let instance = SampleRealmManager()
}
return Static.instance
}
override var schemaVersion: UInt64 {
return 1
}
override var fileURL: URL {
return URL(fileURLWithPath: "\(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!)/sample.realm", isDirectory: false)
}
override var objectTypes: [Object.Type]? {
return [SampleObject.self]
}
override func deleteAll(_ realm: Realm) {
realm.deleteAll()
}
override func process(forMigration migration: Migration, oldSchemaVersion: UInt64) {
}
}
import RealmSwift
class SampleObject: Object {
dynamic var name: String?
dynamic var id: Int = 0
convenience init(id: Int, name: String?) {
self.init()
self.id = id
self.name = name
}
override class func primaryKey() -> String? {
return "id"
}
}
result = SampleRealmManager.shared.query("id > 0", sortProperty: "id", ascending: false)
// Sync with section of UITableView
.set(section: 1)
// Update UITableView after add notification for realm
.changed({ [weak self] (section, deletions, insertions, modifications) in
guard let weakSelf = self else {return}
weakSelf.tableView.beginUpdates()
weakSelf.tableView.deleteRows(at: deletions, with: .none)
weakSelf.tableView.insertRows(at: insertions, with: .none)
weakSelf.tableView.reloadRows(at: modifications, with: .none)
weakSelf.tableView.endUpdates()
})
self.tableView.reloadData()
SampleRealmManager.shared.query()
SampleRealmManager.shared.objects()
SampleRealmManager.shared.results()
let result = SampleRealmManager.shared.query("id > 0", sortProperty: "id", ascending: false, limit: 10, max: 10)
let offset = 2
let result = SampleRealmManager.shared.query("id > 0", sortProperty: "id", ascending: false) { (object) -> Bool in
return object.id! > offset
}
let result = SampleRealmManager.shared.query("id > 0", sortProperty: "id", ascending: false, unlink: true)
iOS Deployment Target 8.0 higher
Steve Kim, [email protected]
OrangeRealm is available under the MIT license. See the LICENSE file for more info.