gpt4 book ai didi

ios - 从 TableView 中保存数据

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

我在核心数据中设置了实体,我想在其中保存用户选择的日期和日期选择器中的时间:

例如enter image description here

我想保存星期一、星期三、星期五和 22:07。我可以将日期选择器连接到 View Controller 以获取时间。但是,如何保存所选的日期?

尝试 1:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
{
let indexPath = tableView.indexPathForSelectedRow
let currentCell = tableView.cellForRow(at: indexPath!)! as UITableViewCell
print(currentCell.textLabel!.text)
}

返回零

尝试 2

print("You selected \(indexPath.row.description)")

成功返回单元格的行号,但不返回UIlabel描述。

更多信息

星期几存储为 UILabel,如下所示: enter image description here

尝试 3:

  print(currentCell.contentView.description)

我还尝试添加一个导航 Controller 以在右上角添加一个保存按钮,但这似乎也不起作用(保存按钮出于某种原因会转到左下角)。

如有任何帮助,我们将不胜感激!谢谢。

最佳答案

tableView:didSelectRowAt 在动态和静态单元格中的工作方式类似。

使用方法 indexPathsForSelectedRows(复数)获取所有当前选择的索引路径,然后使用数组获取工作日而不是从单元格中收集信息。

代码将第 0 部分的索引路径映射到它们的行,并将行映射到相应的工作日。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
if let selectedRows = tableView.indexPathsForSelectedRows {
let rows = selectedRows.filter {$0.section == 0}.map{ $0.row}
let filteredWeekdays = rows.map{ weekdays[$0] }
print(filteredWeekdays)
}
}

如果您还想取消选择单元格,请使用 tableView:didDeselectRowAt 中的相同代码,例如

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedWeekdays()
}

override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
selectedWeekdays()
}

func selectedWeekdays()
{
let weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
if let selectedRows = tableView.indexPathsForSelectedRows {
let rows = selectedRows.filter {$0.section == 0}.map{ $0.row}
let filteredWeekdays = rows.map{ weekdays[$0] }
print(filteredWeekdays)
}
}

考虑在 Core Data 中保存工作日的索引而不是字符串值。然后就可以直接使用行了。

关于ios - 从 TableView 中保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44747818/

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