gpt4 book ai didi

swift - 未调用 cellForRowAt indexPath 函数 - Swift tableView

转载 作者:搜寻专家 更新时间:2023-11-01 06:15:41 24 4
gpt4 key购买 nike

我有一个 tableView 显示在我的 Storyboard和预览中,但是当我在我的设备上运行它时它不显示。调试时,我意识到问题似乎是它从不运行 cellForRowAt indexPath 函数。为什么此代码不执行该函数,我希望它输出 2 行。

编辑:正在调用 numberOfRowsInSection 并为 data.count 返回 2

这是我的 ViewController 代码:

import UIKit

class WRViewController: PopupViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var wrNo: UILabel!
@IBOutlet weak var tableView: UITableView!

struct Contact {

var name:String
var type:String
var phone:String

}
var data:[Contact]=[Contact]()

override func viewDidLoad() {

super.viewDidLoad()

data.append(Contact(name:"John Doe",type:"Builder",phone:"1234567890"))
data.append(Contact(name:"Jane Doe",type:"Contractor",phone:"0987654321"))

tableView.delegate = self
tableView.dataSource = self

tableView.reloadData()

}

override func prepareToOpen() {
super.prepareToOpen()
}

func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "contactCell", for: indexPath)

let contactView = data[indexPath.row]
cell.text = contactView.name
cell.image = contactView.type
cell.text = contactView.phone

return cell
}

}

最佳答案

问题是您没有提供足够的自动布局约束来确定此 TableView 的高度。因此它没有高度。因此它不需要显示任何单元格。因此它不会请求任何单元格。

Storyboard和/或 View 调试器已经非常清楚地警告您这是一个问题,但您没有注意。嗯,注意!添加高度约束或顶部和底部约束,使该 TableView 具有高度。

(请注意,问题可能不仅仅出在表格 View 上,还出在它垂直固定到的任何东西上。但是您没有提供任何相关信息,所以从这里不可能说。)

关于swift - 未调用 cellForRowAt indexPath 函数 - Swift tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45576787/

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