gpt4 book ai didi

cocoa - NSTableView 中的自定义日期格式

转载 作者:行者123 更新时间:2023-12-03 17:05:34 24 4
gpt4 key购买 nike

我的应用程序处理历史事件。有些事件的日期可能是公元前数千年。显然,此类事件的日期不是很准确,最终会出现“大约公元前 20,000 年”或“公元前 50,000 年之前”之类的术语。

为了解决这个问题,我创建了一个自定义 View ,允许用户在输入事件时构建自定义日期格式。然后将此格式与事件日期一起存储为 NSString 的实例,以供以后显示。对于我在每个 View 中显示一个事件的 View 来说,这一切都非常有效。

但是,当我想在 NSTableView 中显示多个事件时,我陷入了困境。我向 NSTableView 中的表格单元格添加了一个日期格式化程序,但似乎无法将我存储的日期格式绑定(bind)到单元格中的日期格式化程序。

我怎样才能实现这个目标?请记住,表中每一行的格式字符串可能不同...

最佳答案

我有类似的需求,还没有想出一个很好的解决方案,但我也没有花很多时间去尝试。

由于它需要逐行变化,所以想到的是使格式化程序成为模型对象的属性,然后在表列上有一个“元格式化程序”来询问 objectValue 和返回将模型的格式化程序应用于模型的数据值的结果。 (如果这有任何意义的话......)

编辑:伪代码

在您的自定义 NSFormatter 子类(“元格式化程序”)中,您将实现类似以下内容:

- (NSString *)stringForObjectValue:(id)object {
return [[object customFormatter] stringForObjectValue:[object date]];
}

实际上,非绑定(bind)元格式化程序充当内部表示的每行自定义格式化程序的代理。让它与 Core Data 一起工作,好吧,你就得靠你自己了。 :-)

关于cocoa - NSTableView 中的自定义日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com