gpt4 book ai didi

ios - Swift:使用界面生成器创建 tableView

转载 作者:行者123 更新时间:2023-11-28 05:35:02 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中实现一个 tableView,虽然这对 objective-c 没有问题,但我不知道如何在 Swift 中执行此操作。这是我的代码:

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet
var tableView: UITableView

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}


func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 5
}

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

cell.textLabel.text = "test"

return cell
}
}

我还在界面生成器中创建了一个带有原型(prototype)单元格的 tableView。原型(prototype)单元的重用标识符设置为“cell”。我没有收到任何错误消息,但是在模拟器中运行时,我得到一堆空单元格,里面什么也没有。你知道我做错了什么吗?

经过更多测试后,func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!func tableView(tableView: UITableView!, numberOfRowsInSection 部分:Int) -> Int从来没有被调用过,但我不知道我做错了什么

提前致谢

最佳答案

也许您忘记设置委托(delegate)和数据源。您可以在代码中使用以下几行来完成此操作:

override func viewDidLoad() {
super.viewDidLoad()

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")

// Set delegate and datasource
self.tableView.delegate = self
self.tableView.dataSource = self
}

关于ios - Swift:使用界面生成器创建 tableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24161589/

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