Можете ли вы привязать к атрибуту timeInterval NSDatePicker?

У меня есть приложение Core Data, которое имеет класс Event, который имеет дату начала и дату окончания. Обязательно связать их с парой виджетов NSDatePicker, но я хотел, чтобы он работал с NSRangeDateMode, доступным в Leopard.

NSDatePicker имеет пару методов, которые имеют дело с timeInterval, но я не могу связываться с этим.

Обновление : я использовал ручной вызов для связывания, и он наполовину работает:

[picker bind:@"timeInterval" 
    toObject:array 
 withKeyPath:@"selection.timeInterval" 
     options:options];

Он устанавливает timeInterval в NSDatePicker при изменении базового объекта, но не устанавливает базовый объект при изменении timeInterval NSDatePicker.

10.12.2008 09:12:45
3 ОТВЕТА
РЕШЕНИЕ

К сожалению нет. Свойство timeInterval средства выбора даты даже не имеет значения ключа. По сути, вы застряли либо в настройке метода действия, либо в использовании метода проверки делегата для получения обновлений его значения. Кроме того, вы захотите округлить его до ближайшего кратного 86400.0 (т. Е. Количества секунд в дне), поскольку средство выбора даты постоянно отключается на долю доли секунды в сообщаемом времени timeInterval. Возможно, к тому времени, как снежный барс начнет кататься, эта функция будет полностью запечена.

1
10.12.2008 22:05:42
Это предложение заставило меня задуматься о том, как заставить его работать - я создал подкласс NSDatePickerCell и попытался сделать его полностью совместимым с KVO для timeInterval, но это привело к бесконечному циклу. Я попробую метод проверки делегата (который я использовал первым, как оказалось).
Matthew Schinckel 11.12.2008 00:17:57

Поддержка интервалов доступна только при использовании графической версии средства выбора даты. Даже тогда нет встроенной поддержки связывания timeInterval.

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

1
10.12.2008 21:57:22
Да. И это не работает, если у вас есть Binding, настроенный на Value (dateValue).
Matthew Schinckel 10.12.2008 21:58:31
Кажется, есть частичная поддержка для привязки к timeInterval, только не в Интерфейсном Разработчике (см. Мое обновление выше).
Matthew Schinckel 10.12.2008 22:01:59

1169097 объясняет, как реализовать пользовательские привязки.

0
23.05.2017 12:29:35