在我的应用程序中,我目前正在使用两个文本NSDatePicker
对象分别指定开始和结束日期。 各个value
键在我的 Core 数据存储中具有相应的 Date
属性。
理想情况下,我想转到一个在 NSRangeDateMode
中配置的图形NSDatePicker
对象。 以编程方式,我可以通过[myDatePicker timeInterval]
检索此间隔。
这里有一个关于如何不可能直接使用Cocoa绑定与timeInterval
的讨论,但是有没有人知道最近的OSX API魔术会实现这一目标?
(一个 kludge 将沿着 CoreData 存储中一个单独的 NSNumber
属性的行,该属性将在父 NSManagedObject 实体的 CD 类别中设置/获取,该实体将与主时间值属性上的设置/获取并行 - 可能通过单独的NSNotification
。
据我所知,没有简单的方法可以做到这一点。我可能会做的是创建NSDatePicker的一个子类,该子类具有您自己合成的可观察endDateValue
属性。应该像 20-30 行代码,棘手的部分是找到您可以在 NSDatePicker 中子类的内容,每次有更改时都会调用这些子类,因此您可以调用:
[self willChangeValueForKey:@“endDateValue”];
[self didChangeValueForKey:@“endDateValue”];
您也无法在界面生成器中轻松绑定到此内容。
另一个问题是您希望如何在数据库中对此范围进行建模?你想分开日期吗?还是日期和天数?还是要将它们混合到字典或自定义对象中?无论您选择在数据库级别执行什么操作,都可以使 NSDatePicker 子类返回并接受它,这样它就会直接与数据库通信(一旦在代码中连接)。