Я разрабатываю приложение, которое необходимо синхронизировать с файлами JSON. Эти файлы являются plist, созданными после вызова службы конечных точек.Запрос RLMObjects с ClassName с Realm
Таким образом, каждый файл имеет имя ClassName и содержит все объекты этого типа. Поэтому я пытаюсь открыть все файлы и сохранить/обновить/удалить все эти объекты в моей области db.
Моего некрасивое решения на данный момент является для перебора схемы царства и использовать переключатель, чтобы соответствовать сущностям имени класса:
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 только с именем класса? Что-то из RLMRealm (например: RLMRealm.defaultRealm().allObjectsWithClassName("Class1")
) или создание RLMObject с именем класса, чтобы иметь доступ к функциям запроса.
Спасибо за ответ, но я не могу получить к нему доступ из быстрого кода. Кроме того, если он не поддерживается, я буду застрять с ним. – Pintouch