gpt4 book ai didi

ios - Swift - iOS - 共享单个数据源的多个 TableView Controller 。

转载 作者:行者123 更新时间:2023-11-28 07:00:31 24 4
gpt4 key购买 nike

我想开始使用 swift 制作一个基于列表的小型应用程序。我计划使用两个 TableView Controller 来显示这两个列表,并且想知道是否可以让它们共享一个公共(public)数据源。

本质上,数据只是一个项目名称,以及两个整数,表示拥有的项目数量与需要的数量。当一个数字增加时,另一个减少,反之亦然。

我认为使用两个 TableView Controller 使用的单个数据源可能最容易做到这一点。

我在共享数据源上进行了一些谷歌搜索,但没有发现任何有用的信息来帮助我实现这一点。如果有任何好的引用资料供我引用,请指出他们的方向!

最佳答案

您可以创建一个数据源类并在两个 View Controller 中使用它:

class Item {

}

class ItemsDataSource: NSObject, UITableViewDataSource {
var items: [Item] = []

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell

//setup cell
// ...

return cell
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
}

class FirstViewController : UITableViewController {
var dataSource = ItemsDataSource()

override func viewDidLoad() {
self.tableView.dataSource = dataSource
self.tableView.reloadData()
}
}

class SecondViewController : UITableViewController {
var dataSource = ItemsDataSource()

override func viewDidLoad() {
self.tableView.dataSource = dataSource
self.tableView.reloadData()
}
}

关于ios - Swift - iOS - 共享单个数据源的多个 TableView Controller 。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167821/

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