获取 NSSet 数据以填充表视图



我正在构建一个具有一对多关系的待办事项应用程序。数据模型如下:

Todo Lists {
listName: String
todos: NSSets
}
Todos{
todoName: String
list: (not sure but points back to the Todo List)
}

在我的条目表视图中,我已经获取了所有待办事项列表并填充了表视图。现在,当我单击待办事项列表时,我想在按下待办事项列表的情况下prepareForSegue,然后使用单击的与待办事项列表关联的所有待办事项填充待办事项表视图。我不确定如何获取与单击的待办事项列表关联的待办事项,并将其传递给下一个视图控制器,并准备 segue。

问:我不确定如何获取与单击的待办事项列表关联的待办事项,并将其传递给下一个视图控制器,并准备 segue。

如果在Todo数据结构上您拥有它所属的列表,则可以:

1 - 将列表传递给"列表详细信息视图控制器";

2 - 列表详细信息视图控制器将获取该列表的待办事项;

我之所以这样想,是因为在这种情况下,我不想为我的所有TodoList加载所有Todo,因为用户甚至可能永远不会打开列表,我可以节省一些内存。这样,您必须执行以下操作:

struct Todo {
let id: String // unique
let name: String
let list: TodoList
}
struct TodoList {
let id: String // unique
let name: String
}
class TodoListDetailViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var list: TodoList {
didSet {
todos = fetchTodos(from: list)
}
}
private var todos: [Todo]! {
disSet {
tableView.reloadData()
}
}
// Your code.......
}

在显示TodoListDetailViewController之前,您需要在prepareForSegue上设置list变量。

重要的是要说我不知道您如何处理每个数据之间的关系,因此我假设您使用的是Stringid。

最新更新