gpt4 book ai didi

swift - 根据优先级在 Tableview 中自动排列行 - Swift 3/4

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

在我的待办事项应用程序中,用户可以在添加任务时选择优先级。此优先级设置每个单元格中 ImageView 的颜色,如下所示:

cell.priorityImageView.image = UIImage(named: String(tasks[indexPath.row].priority))

设置优先级时,priority(int)为0,1,2,3之一

我想自动对行进行排序,以便所有 3 都在顶部,所有 2 都在下面等等

这有可能吗?如果是,怎么做?

我有一个任务数组

var tasks = [Task]()

并且在添加任务时,是通过核心数据完成的

 func AddTaskToCoreData() {
//Access Name - Make sure to check presence
let task = taskTextView.text!
let taskPriority = Int16(priorityNumber)
var date = "12:00"
if selectedDate == true {
let datepick = datePicker.date
let formatter = DateFormatter()
formatter.dateFormat = "MMM d HH:mm"
let result = formatter.string(from: datepick)
date = result
} else {
date = ""
}

if taskTextView.text != "" {
let mainTask = Task(context: PersistenceService.context)
mainTask.task = task
mainTask.priority = taskPriority
mainTask.notification = date
print(selectedDate)
PersistenceService.saveContext()
self.tasks.append(mainTask)
self.tableView.reloadData()
taskTextView.text = ""
refreshTaskAmount()
}
}

感谢您的帮助,

卢克

最佳答案

最好能提供更多的代码。

如果您的 tableview 从 Task 对象数组中获取数据,其中 Task 对象具有 priority 属性,您应该只需在更新优先级后对数组进行排序并重新加载 TableView (或者您可以插入正确的位置,这样您就不必每次都进行排序,但是如果您的列表不是很大,则节省的时间可以忽略不计):

self.tasks = self.tasks.sorted(by: {$0.priority > $1.priority})

这对任务进行排序,使优先级较高的任务排在优先级较低的任务之前。然后只需调用 tableview.reloadData()

关于swift - 根据优先级在 Tableview 中自动排列行 - Swift 3/4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47167187/

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