Nano Hash - криптовалюты, майнинг, программирование

Извлечь объект из основных данных за последние семь дней

В настоящее время я работаю с основными данными для хранения еды. Моими сущностями являются свидание (Дата), еда (строка) и напитки (строка). Теперь я хочу извлечь все продукты, хранившиеся за последние семь дней. Как бы я это сделал? Я знаю, что должен каким-то образом использовать NSPredicate, но не могу понять, как именно.


Ответы:


1

Получить текущий календарь

let calendar = NSCalendar.currentCalendar()

Получить текущую дату

let now = NSDate()

Вычесть 7 дней из текущей даты

let sevenDaysAgo = calendar.dateByAddingUnit(.Day, value: -7, toDate: now, options: [])!

Начни день 7 дней назад

let startDate = calendar.startOfDayForDate(sevenDaysAgo)

Создайте предикат, литерал date является атрибутом основных данных.

let predicate = NSPredicate(format:"(date >= %@) AND (date < %@)", startDate, now)
13.02.2016
  • Большое спасибо! Но как я мог выделить один день за раз (но все же все семь дней)? Причина, по которой я хочу это сделать, заключается в том, что я хочу взять среднее значение для дней, когда для каждого дня имеется более одного сохраненного значения. Или, может быть, есть лучший способ сделать это? 16.02.2016
  • Выполнение запроса на выборку с использованием этого предиката возвращает массив всех объектов, соответствующих условию. Добавьте дескриптор сортировки, чтобы получить отсортированный массив. Затем перечислите массив. Или используйте один запрос на выборку каждый день. 16.02.2016
  • Это за последние 2 дня, для отдельных дней вычтите единицу и сохраните значение в переменной. Затем в цикле возьмите переменную как end date, снова вычтите единицу, сохраните ее в переменной и возьмите новое значение как start date. 16.02.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..