NSDatePicker ... CoreData存储日期范围?

时间:2014-01-15 18:43:22

标签: cocoa cocoa-bindings nsdatepicker

在我的应用中,我目前正在使用两个文字NSDatePicker对象来指定一个开头和一个对象。结束日期。单个value密钥在我的核心数据存储中具有相应的Date属性。

理想情况下,我想要转到NSDatePicker中配置的一个图形NSRangeDateMode对象。以编程方式,我可以通过[myDatePicker timeInterval]检索此时间间隔。

有一个关于如何直接使用timeInterval直接使用Cocoa绑定的讨论here,但是是任何人都知道最近的一些OSX API魔法&#39 ;这会发生这种情况吗?

(一个kludge将沿着CoreData商店中单独的NSNumber属性的行,该属性将被设置/获取到父类NSManagedObject实体的CD类别,该实体将与主要的set / get并行时间值属性 - 可能通过单独的NSNotification。)

1 个答案:

答案 0 :(得分:1)

我知道,没有简单的方法可以做到这一点。我可能做的是创建一个NSDatePicker的子类,它具有您自己合成的可观察endDateValue属性。应该像20-30行代码一样,棘手的部分是找到你可以在NSDatePicker中进行子类化的东西,每次有变化时都会被调用,所以你可以调用:

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

您也无法在Interface Builder中轻松绑定。

另一个问题是你想如何在数据库中建模这个范围?你想分开日期吗?还是日期和天数?或者你想将它们混合成字典或自定义对象?无论你选择在数据库级别做什么,你都可以让你的NSDatePicker子类返回它并接受它,所以它会直接与数据库通信(一旦连接到代码中)。