gpt4 book ai didi

ios - 将 MotionModel 记录分类为基于日期的部分以插入 ProMotion TableScreen 的最有效方法?

转载 作者:行者123 更新时间:2023-11-29 13:11:07 25 4
gpt4 key购买 nike

我正在为 iOS 应用程序使用 RubyMotion、ProMotion 和 MotionModel。我们将每天存储多个对日期/时间敏感的条目,并将它们列在一个大的 TableView 中。现在条目出现在一个大列表中:

enter image description here

我想做的是按日期分割条目以提高可读性:

enter image description here

我假设我可以通过循环遍历我的模型条目一次,提取所有唯一日期的数组,然后遍历日期数组并提取匹配的条目来完成这项工作。这会起作用,但我忍不住认为可能有更好的方法来使用我不熟悉的一些 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
}
}
}
}]

最佳答案

假设 times 有您的时间实例数组:

df=NSDateFormatter.new.tap { |f| f.setDateStyle(NSDateFormatterMediumStyle) }
tf=NSDateFormatter.new.tap { |f| f.setTimeStyle(NSDateFormatterMediumStyle) }
times.inject({}) { |a, t| (a[df.stringFromDate(t)] ||= []) <<
tf.stringFromDate(t); a }.map { |k, v| Hash[title: k, cells: v.map { |t| {title: t} } ] }

关于ios - 将 MotionModel 记录分类为基于日期的部分以插入 ProMotion TableScreen 的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352574/

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