我正在開發一個需要從JSON文件進行同步的應用程序。這些文件在調用端點服務後創建。請求具有Realm的ClassName的RLMObjects
因此,每個文件都使用ClassName命名幷包含此類型的所有對象。所以我想要做的是打開每個文件並保存/更新/刪除我領域數據庫中的所有對象。
我一時醜陋的解決方案是迭代的境界架構,並使用一個開關來匹配實體類名:
let realm = RLMRealm.defaultRealm()
var schema = realm.schema.objectSchema as [RLMObjectSchema]
for clazz in schema {
switch(clazz.className){
case Class1.className():
var sortedArray = Class1.allObjects().sortedResultsUsingProperty("updatedAt", ascending: false)
if(sortedArray.count>0){
date = sortedArray.firstObject().valueForKey("updatedAt") as Int
}
break
case Class2.className():
var sortedArray = Class2.allObjects().sortedResultsUsingProperty("updatedAt", ascending: false)
if(sortedArray.count>0){
date = sortedArray.firstObject().valueForKey("updatedAt") as Int
}
break
}
}
此代碼是爲了獲得最後的更新日期爲一個實體類型爲同步的目的,但我需要它的其他東西,所以這適用於幾個類,但我有40個類...
所以我想知道,如果有一種方法來請求只有類名的Realm DB?來自RLMRealm的東西(例如:RLMRealm.defaultRealm().allObjectsWithClassName("Class1")
)或創建一個帶有className的RLMObject以訪問請求函數。
感謝您的回答,但我無法從swift代碼訪問它。此外,如果它不受支持,我會被卡住。 – Pintouch 2015-02-10 13:48:23