简体   繁体   English

Realm.objects()返回空对象

[英]Realm.objects() returns empty objects

My class has all properties as dynamic but still when retrieving them from realm i get a collection of empty objects, and check the realm db with the realm browser and the data is there, this is my 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
    }
}

here is how i'm reading the data: 这是我如何阅读数据:

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

any ideas? 有任何想法吗?

How are you retrieving the persisted ProjectEntity objects? 你是如何检索持久化的ProjectEntity对象的? The following code snippet should do the trick: 以下代码片段应该可以解决这个问题:

let entities = Realm().objects(ProjectEntity)

first your class need to inherit RLMObject : 首先你的类需要继承RLMObject:

class ProjectEntity: RLMObject {
    ...
}

and after if you want all the ProjectEntity objects try this : 如果你想要所有的ProjectEntity对象,请尝试以下方法:

let allProjectEntityObjects: RLMResults = ProjectEntity.allObjects()

if you need some extra help you can follow this tutorial from Realm : 如果您需要一些额外的帮助,可以按照Realm的教程:

Building a To-Do App with Realm 使用Realm构建待办事项应用程序

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM