Используйте Realm Swift Query API для запроса атрибутов объекта, содержащихся в списке.IOS

Программируем под IOS
Ответить
Anonymous
 Используйте Realm Swift Query API для запроса атрибутов объекта, содержащихся в списке.

Сообщение Anonymous »

Я использую Realm в проекте Swift для хранения своих данных. Я хочу использовать API запросов Realm Swift для запроса атрибутов объекта, содержащихся в списке.
Мои (упрощенные) объекты выглядят так:

Код: Выделить всё

open class QuestionModel: Object {

@objc dynamic var uuid: String!
override public static func primaryKey() -> String? {
return "uuid"
}
// attributes about the media for this question are wrapped up in a MediaModel object
@objc dynamic var media: MediaModel?

}

open class MediaModel: Object {
// A question can have up to two ImageModels
open var images = List()

}

open class ImageModel: Object {
// The filename on disk to use to create a UIImage
@objc dynamic var filename: String? = nil
// an description of the image
@objc dynamic var altDescription: String? = nil

}
В некоторых случаях я хочу получить модели вопросов только с первым изображением ImageModel.filename != ""
Вот что я пробовал:
Вот что я пробовал:
р>

Код: Выделить всё

res = realm?.objects(QuestionModel.self)
и я хочу дополнительно фильтровать модели вопросов на основе определенных критериев.
Использование NSPredicate и Subquery кажется работает, хотя я не думаю, что он понимает какое image.name пустое, у меня просто возникают все вопросы, если одно из имен image.file заполнено

Код: Выделить всё

res = res.filter("SUBQUERY(media.images, $image, $image.name != '').@count > 0")
Однако я действительно хочу перейти на новый API запросов Realm Swift, если это возможно.

Код: Выделить всё

res = res.where {
$0.media.images.name != ""
}
Выдает NSException * «Пути к ключам, включающие свойство коллекции, должны использовать агрегатные операции»

Код: Выделить всё

res = res.where {
($0.media.images.name != "").count > 0
}
Give NSException * «Подзапросы должны содержать ключевой путь, начинающийся с коллекции».
Я очень запутался. Кажется, я не могу найти в Интернете пример, который заставляет меня задуматься, возможно ли это.
Любая мысль приветствуется

Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-a-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»