gpt4 book ai didi

ios - 保持 TableView 之间的数组顺序?

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

我有 2 个 tableView,我试图在同一结构上显示单独的数组。第二个数组/tableView 只是第一个数组/tableView 的子集;用户可以选择第一个 tableView 的行,并将该对象复制到第二个数组/tableView 上。但是,我希望顺序相同,但我还没有找到使用结构来做到这一点的方法。

struct SomeTasks {
var name: String
var listOfPossibleThings: [List]
var listOfActualThings: [List]
}

struct List {
var name: String
var items: [Item]
}

struct Item {
var name: String
}

用户在 listOfPossibleThings 数组中创建新的 List 对象,并可以将它们移至 listOfActualThings 或从 listOfActualThings 移出。

TableViewOne 使用 someTasks.listOfPossibleThings 来填充其单元格;对于确实移动到 tableViewTwo 的结构,我希望顺序保持不变。使用结构执行此顺序逻辑的最佳实践是什么?谢谢!

最佳答案

管理两个数组的顺序很困难且容易出错,我认为最好只存储一个数组,而每次需要时计算另一个数组。

像这样

struct someTasks {
var name: String
var listOfPossibleThings: [List]
var listOfActualThings: [List] {listOfPossibleThings.filter {$0.isActualThing}}
}

struct List {
var name: String
var items: [Item]
var isActualThing: Bool = false
}

struct Item {
var name: String
}

var foo = someTasks(name: "foo", listOfPossibleThings: [
List(name: "list0", items: [Item(name: "item0.0")]),
List(name: "list1", items: [Item(name: "item0.0"), Item(name: "item0.1")])
])


foo.listOfPossibleThings // list0, list1
foo.listOfPossibleThings[1].isActualThing = true
foo.listOfActualThings // list1
foo.listOfPossibleThings[0].isActualThing = true
foo.listOfActualThings // list0, list1

关于ios - 保持 TableView 之间的数组顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58934053/

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