2015-08-26 118 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