2015-08-26 114 views
3

我的类的所有属性都是动态的,但是当从领域检索它们时,我仍然收到空对象的集合,并使用领域浏览器检查领域数据库,并且数据存在,这是我的课:Realm.objects()返回空对象

class ProjectEntity: Object { 

    /** 
    Property: All properties of the ProjectEntity 
    **/ 
    dynamic var ProjectId = 0 
    dynamic var ProjectTitle = "" 
    dynamic var ProjectSubtitle = "" 
    dynamic var ProjectType = "" 
    dynamic var ProjectClass = "" 
    dynamic var ProjectCoordinates = "" 
    dynamic var ProjectGraphType = "" 
    dynamic var ProjectModifiedOn = NSDate(timeIntervalSince1970: 0) 
    dynamic var ProjectCity = "" 
    dynamic var ProjectCounty = "" 
    dynamic var ProjectZip = "" 

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

    func getShape() -> MapShape{ 
     let adapter = ProjectsJSONAdapter() 
     let shape: MapShape = adapter.parseShape(id: self.ProjectId, type: self.ProjectGraphType, jsonStr: self.ProjectCoordinates) 
     return shape 
    } 
} 

这里是如何我读的数据:

let projectsList = realm.objects(ProjectEntity) 
    for project in projectsList { 
     projects.append(project)//The properties in project have all their default/empty values 
    } 

什么想法?

回答

1

如何检索持续的ProjectEntity对象?下面的代码片段应该做的伎俩:

let entities = Realm().objects(ProjectEntity) 
+0

谢谢,这正是我正在做的,但一旦我循环通过实体集合每个ProjectEntity是空的:在这里它的代码︰let projectsList = realm.objects(ProjectEntity) 项目列表项目项目(项目)/ /这个项目的所有属性与他们的默认值/空值 } –

+0

我读过其他帖子,道具添加“动态”应该修复它,但它没有在米Ÿ情况下,我可能会错过什么? –

+0

你能更具体地了解你所看到的行为出乎意料吗? – segiddins

0

第一类需要继承RLMObject:

class ProjectEntity: RLMObject { 
    ... 
} 

,如果你想在所有的ProjectEntity对象试试这个:

let allProjectEntityObjects: RLMResults = ProjectEntity.allObjects() 

如果你需要一些额外的帮助,你可以按照本教程领域:

Building a To-Do App with Realm

+0

谢谢,但没有工作,我得到一个错误“ProjectEntity.Type没有一个名为‘allObjects’成员”,我使用的境界0.95.0为SWIFT如果这有帮助 –

+0

我已经更新我的回复;) – Philippe