NSDatePicker... CoreData хранит диапазон дат?

В моем приложении я сейчас использую два текстовых NSDatePicker объекты для обозначения даты начала и окончания соответственно. Человек value ключи имеют соответствующий Date атрибут в моем хранилище основных данных.

В идеале я хотел бы перейти к одному графическому NSDatePicker объект настроен в NSRangeDateMode, Программно, я могу получить этот интервал, через [myDatePicker timeInterval],

Здесь обсуждается, как невозможно использовать привязки Какао напрямую с timeInterval, но кто-нибудь знает часть недавней магии OSX API, которая сделает это возможным?

(Кладж будет по линии отдельного NSNumber атрибут в хранилище Core Data, который будет установлен / получен в добавлении категории CD к родительской сущности NSManagedObject, который будет параллельно устанавливать / получать атрибут первичного значения времени - возможно, через отдельный NSNotification.)

1 ответ

Нет простого способа сделать это, о котором я знаю. Вероятно, я бы сделал подкласс NSDatePicker, который имел бы наблюдаемый endDateValue свойство, которое вы синтезируете сами. Примерно 20-30 строк кода, сложная часть будет искать то, что вы можете подкласс в NSDatePicker, который будет вызываться каждый раз, когда есть изменение, поэтому вы можете вызвать:

[self willChangeValueForKey:@“endDateValue”];
[self didChangeValueForKey:@“endDateValue”];

Вы не сможете легко связать это с Интерфейсным Разработчиком, также.

Другой вопрос: как вы хотите смоделировать этот диапазон в базе данных? Вы хотите разделить даты? Или дата и количество дней? Или вы хотите объединить их в словарь или пользовательский объект? Что бы вы ни делали на уровне базы данных, вы можете заставить свой подкласс NSDatePicker возвращать его и принимать его, чтобы он напрямую общался с базой данных (после подключения в коде).

Другие вопросы по тегам