Last active
February 17, 2017 07:41
-
-
Save vani2/40735f6a49c54a8393fe020a15cf573f to your computer and use it in GitHub Desktop.
RealmDAO relationships
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Realm | |
// сущности (у Message нет ссылки на Folder) | |
class Folder: Entity { | |
var name: String? | |
var messages: [Message]? | |
//... | |
} | |
class RLMFolder: RLMEntry { | |
dynamic var name: String = "" | |
let messages = List<RLMMessage>() | |
//... | |
} | |
// транслятор сущности Folder | |
class FolderRealmTranslator: RealmTranslator<Folder, RLMFolder> { | |
override func toEntry(_ entity: Folder) -> RLMFolder { | |
let dbFolder = RLMFolder() | |
dbFolder.entryId = entity.entityId | |
dbFolder.name = entity.name | |
dbFolder.messages = MessageRealmTranslator().toEntries(entity.messages) | |
return dbFolder | |
} | |
override func toEntity(_ entry: RLMFolder) -> Folder { | |
let messages = MessageRealmTranslator().toEntities(entry.messages) | |
return Folder(entityId: entry.entryId, name: entry.name, messages: messages) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment