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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
882
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

Да уж. И это не сработает, если у вас есть привязка к значению (dateValue).

Matthew Schinckel 11.12.2008 00:58

Кажется, есть частичная поддержка привязки к timeInterval, но не в Interface Builder (см. Мое обновление выше).

Matthew Schinckel 11.12.2008 01:01
Ответ принят как подходящий

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

Это предложение заставило меня задуматься о том, как заставить его работать - я создал подкласс NSDatePickerCell и попытался сделать его полностью совместимым с KVO для timeInterval, но это привело к бесконечному циклу. Я попробую метод проверки делегата (который, как оказалось, я использовал первым).

Matthew Schinckel 11.12.2008 03:17

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

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