gpt4 book ai didi

ios - 实现 UITableViewDataSource 的类始终为 null

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

我有一个 TableView ,它的委托(delegate)和数据源属性应该分别从 InsertIntoTableViewDelegateInsertIntoTableViewDatasource 类设置。但是,我的 InsertIntoTableViewDatasource 类总是返回 null

代码如下:

class InsertIntoTableViewDatasource: NSObject,UITableViewDataSource {

var data:NSMutableArray

init(With data: NSMutableArray){
self.data = data
}


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

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("rowCell", forIndexPath: indexPath)
cell.textLabel?.text = data[indexPath.row] as? String
return cell
}
}

下面是表格 View 的设置方式:

override func viewDidLoad() {
super.viewDidLoad()
self.title = "Testing"
tableView.dataSource = InsertIntoTableViewDatasource(With: data)
tableView.delegate = InsertIntoTableViewDelegate()
}

为什么会这样?

最佳答案

UITableView 不保留其数据源,因此您的数据源会在 viewDidLoad 函数结束后立即被释放。

您需要在 View Controller 中将对数据源的引用作为属性保存。委托(delegate)也一样。

关于ios - 实现 UITableViewDataSource 的类始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35046263/

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