2015-12-17 5 views
1

Я пытаюсь сопоставить свой объект JSON с объектом Realm с использованием ObjectMapper, но я продолжаю получать нуль.Swift 2.1: Не удалось сопоставить объект JSON с объектом Realm с использованием ObjectMapper

import RealmSwift 
import ObjectMapper 

class Notification: Object, Mappable { 
dynamic var id = 0 
dynamic var isProcessed = false 
dynamic var type = "" 
var supersedes : Int? 

required convenience init?(_ map: Map) { 
    self.init() 
} 

// Mappable 
func mapping(map: Map) { 
    id <- map["id"] 
    isProcessed <- map["isProcessed"] 
    type <- map["type"] 
    supersedes <- map["supersedes"] 
} 
} 

Я использую следующую строку кода для отображения входящего JSON в вышеуказанный объект Realm.

let notif = Mapper<Notification>().map(notification) // notif here is nil 

уведомление является JSON объект (SwiftyJSON библиотека используется)

Образец уведомления JSON:

{ 
     data =    { 
      buyerInfo =     { 
       image = ""; 
       name = ""; 
       userId = UID2268351488; 
      }; 
      sellerSKUs =     (
            { 
        id = SSK236123228808967424; 
        price =       { 
         amount = 888; 
         currency = THB; 
        }; 
        quantity = 2; 
       }, 
            { 
        id = SSK563365068895040768; 
        price =       { 
         amount = 6865; 
         currency = THB; 
        }; 
        quantity = 1; 
       } 
      ); 
      subOrderId = SOD751798094080240; 
     }; 
     id = 39038; 
     isProcessed = 0; 
     supersedes = "<null>"; 
     type = PendingSubOrderConfirmationNotification; 
    }, 

Пожалуйста, помогите!

ответ

1

Вы не можете комбинировать ObjectMapper и SwiftyJSON таким образом. Либо вы предоставляете rawValue от SwityJSON JSON struct в качестве аргумента для ObjectMapper's Mapper.map, либо вместо этого вы используете только NSJSONSerialization.

Смежные вопросы