2017-07-19 72 views
2

我堅持把所有上述內容放在一起。如果我能得到任何意見,我將不勝感激。EVReflection + Moya + Realm + RxSwift - 無法創建類型字典的實例

這是我的短設置:

typealias RealmObject = Object 

/// Extension to ignore undefined keys when mapping 
extension RealmObject : EVReflectable { 
    open override func setValue(_ value: Any?, forUndefinedKey key: String) { } 
} 

樣品境界型號:

class Product: RealmObject { 

    dynamic var productId: String = "" 
    let productLanguages = List<ProductLanguage>() 

    override static func primaryKey() -> String? { 
     return "productId" 
    } 
} 

class ProductLanguage: RealmObject { 

    dynamic var productLanguageId: String = "" 
    dynamic var languageCode: String = "" 
    dynamic var productName: String = "" 

    override static func primaryKey() -> String? { 
     return "productLanguageId" 
    } 
} 

要提取產品的細節我用莫亞和RxSwift:

func getProduct(productItemKey: String) -> Observable<Product> { 
    return provider.request(.product(productId: productItemKey)).map(to: Product.self) 
} 

我覺得.map(to: Product.self)不起作用與領域開箱即用。對於列表中的每個對象,我得到一個錯誤:

ERROR: Could not create an instance for type 
dict:{ 
    CreateDate = "2015-10-12T11:11:50.013Z"; 
    IngredientList = "Acao ingredient"; 
    LanguageCode = "en-US"; 
    ProductId = "d6bb0084-6838-11e5-9225-00ac14ef2300"; 
    ProductLanguageId = "f96848d0-df77-4594-99b7-d390bb127891"; 
    ProductName = Acao; 
    Tagline = "The smart drink - 100% organic, vegan energy booster with guara" 
} 

是否有任何其他方式將Moya響應映射到Realm對象?

非常感謝您的任何意見!

回答

0

原來,這是EVReflection中的一個錯誤。固定在4.17.0