Skip to content

Instantly share code, notes, and snippets.

@vani2
Last active February 17, 2017 07:41
Show Gist options
  • Save vani2/40735f6a49c54a8393fe020a15cf573f to your computer and use it in GitHub Desktop.
Save vani2/40735f6a49c54a8393fe020a15cf573f to your computer and use it in GitHub Desktop.
RealmDAO relationships
// 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