首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取NSSet数据以填充表视图

获取NSSet数据以填充表视图
EN

Stack Overflow用户
提问于 2017-07-21 22:32:35
回答 1查看 69关注 0票数 0

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

代码语言:javascript
复制
Todo Lists {
    listName: String
    todos: NSSets
}

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

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

EN

回答 1

Stack Overflow用户

发布于 2017-07-21 23:07:36

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

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

1--将列表传给"list detail view controller";

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

我之所以这样想,是因为在这种情况下,我不想为我所有的Todo加载所有的TodoList,因为用户可能永远不会打开一个列表,而我可以节省一些内存。通过这种方式,你必须做一些类似的事情:

代码语言:javascript
复制
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变量。

很重要的一点是,我不知道您如何处理每个数据之间的关系,所以我假设您使用的是String id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45240319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档