У меня есть NSManagedObject, foo, в котором хранится NSDate, который был создан. У этого также есть другое поле, срок службы которого хранит количество секунд, в течение которых объект действителен. Каждый foo может иметь другое значение продолжительности жизни. Можно ли вернуть всех участников, не превышающих их продолжительность жизни? Я не уверен, как выразить это в моем NSPredicate, или если это возможно?Основные данные, поиск объектов на основе объектов собственное имущество
ответ
сердцевины выборки данных запроса может фактически содержать простое арифметическое выражение. Так, чтобы найти все объекты, где «созданные + продолжительность жизни> = сейчас», следующих работ:
NSDate *now = [NSDate date];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"created + lifespan >= %@", now];
Спасибо, это именно то, что я искал. – Feta
@Feta: Добро пожаловать! –
Да, это возможно. например:
NSDate * yesterday = [NSDate dateWithTimeIntervalSinceNow:-(60 * 60 * 24)];
NSPredicate * predicate = [[NSPredicate alloc] initWithFormat:@"dateCreated > %@", yesterday];
NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setPredicate:predicate];
NSError * error = nil;
NSArray * results = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
Вот больше информации о написании предикатов: http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/Predicates/Articles/pCreating.html
вышесказанное предполагает, что ваш объект Foo имеет атрибут dateCreated, который является NSDate. –
У дня не всегда есть 24 часа. –
Правда - но это демонстрирует, как сделать выборку. –
- 1. Основные данные - несколько объектов
- 2. Основные данные, получающие результат на основе количества объектов связи
- 3. Сохранение объектов в основные данные
- 4. Основные данные не выборки объектов
- 5. Основные данные Максимальное количество объектов
- 6. Основные данные вставляют несколько объектов
- 7. Основные данные отправки и получения объектов
- 8. Поиск списка объектов на основе объектной переменной
- 9. Поиск объектов на основе весов атрибутов
- 10. Основные данные: объединение нескольких управляемых объектов Контексты и удаление объектов
- 11. Основные данные создания новых объектов Swift
- 12. Основные данные для извлечения удаленных объектов
- 13. IOS Swift Основные данные подсчета дочерних объектов
- 14. Основные данные: выбор объектов из нескольких ManagedObjectContexts
- 15. основные данные - объединение объектов с взаимным значением
- 16. Основные данные: ошибка при удалении/добавлении объектов
- 17. Основные данные Несколько объектов для одного объекта
- 18. Основные данные - ограничение количества сохраненных объектов
- 19. Основные данные NSSet возвращает пустой массив объектов
- 20. ismounted антипаттерн, отслеживать собственное имущество
- 21. Изменить одно имущество в Array объектов Ruby
- 22. поиск объектов в памяти
- 23. фильтров на основе массива объектов
- 24. Эффективный поиск объектов/фильтрация
- 25. Поиск нескольких объектов на картинке
- 26. Parse.com - Поиск удаленных объектов
- 27. Three.js: поиск объектов и анимация объектов на кривой
- 28. Основные данные iOS Как использовать NSPredicate для поиска родительских объектов на основе одного-многих дочерних свойств?
- 29. Выбор объектов на основе массива
- 30. Сортировка объектов на основе подстроки
Подумайте о замене атрибута продолжительности жизни с атрибутом, держащей дату истечения объекта. –
Понятно, что я просто сравниваю его с ценностью. Это имеет смысл, спасибо. – Feta