2015-08-21 8 views
0

我在Swift中使用ObjectMapper的领域。我无法填充列表。它总是零。这里是我的代码:swift领域列表<T>不填充

import RealmSwift 
import ObjectMapper 

class Person: Object,GtMappable { 
    dynamic var id = 0 
    dynamic var name = "" 
    dynamic var listOfEmployees = List<Employee>() 


    required init() { 
     super.init() 
    } 

    required init?(_ map:Map) { 
     super.init() 
     mapping(map) 
    } 

    // Mappable 
    internal func mapping(map: Map) { 
     id = map["id"] 
     name = map["name"] 
     listOfEmployees <- map["result"] 
    } 
} 

回答

0

必须应用RealmListTransform到列表中的映射功能:

 listOfEmployees <- (map["result"], RealmListTransform<Employee >()) 

在SWIFT 3.0您的代码可以更简单:

import RealmSwift 
import ObjectMapper 

class Person: Object,GtMappable { 
    dynamic var id = 0 
    dynamic var name = "" 
    dynamic var listOfEmployees = List<Employee>() 

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

    // Mappable 
    internal func mapping(map: Map) { 
     id <- map["id"] 
     name <- map["name"] 
     listOfEmployees <- (map["result"], RealmListTransform<Employee >()) 
    } 
} 
+0

listOfEmployees将抛出一个错误 - '属性不能被标记为动态的,因为它的类型不能在Objective-C中表示 –