From 3406700c02a67ce29b41ce2d79214ddccfefa2cd Mon Sep 17 00:00:00 2001 From: Jon Fir Date: Fri, 15 Jun 2018 16:43:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20DAO/Realm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DAO/Classes/RealmDAO/DAO/RealmDAO.swift | 37 ++++++++++++++++--------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/DAO/Classes/RealmDAO/DAO/RealmDAO.swift b/DAO/Classes/RealmDAO/DAO/RealmDAO.swift index 8fb9781..301db08 100644 --- a/DAO/Classes/RealmDAO/DAO/RealmDAO.swift +++ b/DAO/Classes/RealmDAO/DAO/RealmDAO.swift @@ -28,8 +28,10 @@ open class RealmDAO: DAO { /// - Parameters: /// - translator: translator for current `Model` and `RealmModel` types. /// - configuration: configuration. See also `RealmConfiguration`. - public init(_ translator: RealmTranslator, - configuration: RealmConfiguration) { + public init( + _ translator: RealmTranslator, + configuration: RealmConfiguration) { + self.translator = translator self.configuration = RealmDAO.makeRealmConfiguration(configuration) super.init() @@ -40,9 +42,10 @@ open class RealmDAO: DAO { /// /// - Parameters: /// - translator: translator for current `Model` and `RealmModel` types. - public convenience init(_ translator: RealmTranslator) { - self.init(translator, - configuration: RealmConfiguration()) + public convenience init( + _ translator: RealmTranslator) { + + self.init(translator, configuration: RealmConfiguration()) } @@ -51,8 +54,8 @@ open class RealmDAO: DAO { var config = Realm.Configuration.defaultConfiguration guard let path = self.pathForFileName(configuration.databaseFileName) else { - fatalError("Cant find path for DB with filename: \(configuration.databaseFileName)" + - " v.\(configuration.databaseVersion)") + fatalError("Cant find path for DB with filename: \(configuration.databaseFileName)" + + " v.\(configuration.databaseVersion)") } config.fileURL = path config.schemaVersion = configuration.databaseVersion @@ -64,7 +67,11 @@ open class RealmDAO: DAO { } public static func pathForFileName(_ fileName: String) -> URL? { - let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first as NSString? + let documentDirectory = NSSearchPathForDirectoriesInDomains( + .documentDirectory, + .userDomainMask, + true).first as NSString? + guard let realmPath = documentDirectory?.appendingPathComponent(fileName) else { return nil } @@ -132,15 +139,19 @@ open class RealmDAO: DAO { } - open override func read(orderedBy field: String?, - ascending: Bool) -> [Model] { + open override func read( + orderedBy field: String?, + ascending: Bool) -> [Model] { + return read(predicatedBy: nil, orderedBy: field, ascending: ascending) } - open override func read(predicatedBy predicate: NSPredicate?, - orderedBy field: String?, - ascending: Bool = true) -> [Model] { + open override func read( + predicatedBy predicate: NSPredicate?, + orderedBy field: String?, + ascending: Bool = true) -> [Model] { + var entries = readFromRealm(predicate) if let field = field {