Realm.objects() returns 空对象

Realm.objects() returns empty objects

我的 class 的所有属性都是动态的,但是当从领域中检索它们时,我仍然得到一个空对象的集合,并使用领域浏览器检查领域数据库,数据就在那里,这是我的 class:

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
    }

有什么想法吗?

首先你的 class 需要继承 RLMObject :

class ProjectEntity: RLMObject {
    ...
}

如果您想要所有 ProjectEntity 对象,请尝试以下操作:

let allProjectEntityObjects: RLMResults = ProjectEntity.allObjects()

如果您需要一些额外的帮助,可以按照 Realm 中的教程进行操作:

Building a To-Do App with Realm

您如何检索持久化的 ProjectEntity 对象?以下代码片段应该可以解决问题:

let entities = Realm().objects(ProjectEntity)