我正在为 iOS 应用程序使用 RubyMotion、ProMotion 和 MotionModel。我们将每天存储多个对日期/时间敏感的条目,并将它们列在一个大的 TableView 中。现在这些条目出现在一个大列表中:
我想做的是按日期分段条目以提高可读性:
我假设我可以通过遍历我的模型条目一次,提取所有唯一日期的数组,然后遍历日期数组并提取匹配的条目来完成这项工作。这会起作用,但我不禁认为可能有更好的方法来解决这个问题,使用一些我不熟悉的 Ruby 魔法。任何建议都非常感谢!
如果阅读本文的人知道 Ruby 或 RubyMotion 但不熟悉 ProMotion,我需要返回的数据格式如下:
[{
title: "June 12, 2013",
cells: [{
title: "10:00am"
},{
title: "3:15pm"
},{
title: "7:00pm"
},{
title: "10:15pm"
}]
},{
title: "June 06, 2013",
cells: [{
title: "10:00am"
},{
title: "3:15pm"
},{
title: "7:00pm"
},{
title: "10:15pm"
}]
}]
编辑:
当前按时间倒序生成表格单元格的代码:
[{
cells: Entries.order{|one, two| two.entry_date <=> one.entry_date}.all.map{ |f|
{
title: Time.at(f.entry_date).strftime("%I:%M %p"), #"%m/%d/%Y"
action: :show_entry,
arguments:
{
entry: f
}
}
}
}]