Swiftpack.co - 0xjmp/ObjectMapper-Realm as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by 0xjmp.
0xjmp/ObjectMapper-Realm 1.2
An ObjectMapper extension that serializes arbitrary JSON into Realm's List class
⭐️ 176
🕓 3 years ago
iOS macOS tvOS
.package(url: "https://github.com/0xjmp/ObjectMapper-Realm.git", from: "1.2")


Version Build Status codecov Platform License

Installation Carthage compatible

ObjectMapper+Realm is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "ObjectMapper+Realm"

You may also install it through Swift Package Manager.


To use ListTransform just add it to the mapping of your RealmObject:

import ObjectMapper
import RealmSwift
import ObjectMapper_Realm

class User: Object, Mappable {
  dynamic var username: NSString?
  var friends: List<User>?

  required convenience init?(_ map: Map) {

  override class func primaryKey() -> String? {
    return "username"

  func mapping(map: Map) {
    username              <- map["username"]
    friends               <- (map["friends"], ListTransform<User>())

If you need to have control over your newly serialized objects, you can use the onSerialize callback:

class User: Object, Mappable {

    func mapping(map: Map) {
        username              <- map["username"]
        friends               <- (map["friends"], ListTransform<User>(onSerialize: onSerialize))

    private func onSerialize(users: List<User>) {
        let realm = Storage.shared.realm
        try! realm.write {
            realm.add(users, update: .modified)

Have fun! 🎬


Jake Peterson


ObjectMapper+Realm is available under the MIT license. See the LICENSE file for more info.


Stars: 176
Last commit: 1 year ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics