gpt4 book ai didi

ios - UITableView 不显示 UITableViewCells

转载 作者:行者123 更新时间:2023-12-01 19:34:53 25 4
gpt4 key购买 nike

我在 InterfaceBuilder 中设置了以下屏幕:

enter image description here

已连接 IBOutlets以及符合 UITableViewDelegate 的所需功能和 UITableViewDataSource协议(protocol)。还没有太多功能 - 只是开始的结构。
这是 ViewController 的代码:

class HomeViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var AllCoopsLabel: UILabel!
@IBOutlet weak var RecentCoopsLabel: UILabel!
@IBOutlet weak var LatestNotificationsLabel: UILabel!
@IBOutlet weak var OpenCoops: UILabel!
@IBOutlet weak var CompletedCoops: UILabel!
@IBOutlet weak var Earnings: UILabel!
@IBOutlet weak var OpenCoopsLabel: UILabel!
@IBOutlet weak var CompletedCoopsLabel: UILabel!
@IBOutlet weak var EarningsLabel: UILabel!
@IBOutlet weak var ShowAllCoopsButton: UIButton!
@IBOutlet weak var ShowAllNotificationsButton: UILabel!
@IBOutlet weak var RecentCoopsTable: UITableView!
@IBOutlet weak var LatestNotificationsTable: UITableView!
let apiService = APIService()
var parentController: TabBarController?
var user: User?



override func viewDidLoad() {
super.viewDidLoad()
RecentCoopsTable.dataSource = self
RecentCoopsTable.delegate = self
LatestNotificationsTable.dataSource = self
LatestNotificationsTable.delegate = self

let token = UserDefaults.standard.string(forKey: "authtoken")!
self.apiService.getUserFromAuthtoken(token: token, completion: {result in
switch result {
case .success(let user):
DispatchQueue.main.async {
self.user = user
self.parentController = self.tabBarController as? TabBarController
self.parentController?.user = user
Globals.shared.user = user
}
case .failure(let error):
print("An error occured \(error.localizedDescription)")
}
})
}



func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}



func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("Was here")
let coopCell = tableView.dequeueReusableCell(withIdentifier: "RecentCoopsViewCell", for: indexPath) as! CoopViewCell
coopCell.CoopName.text = "foo bar"
return coopCell
}



func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}



@IBAction func showAllCooperationsButtonPressed(_ sender: Any) {
print("showAllCooperationsButtonPressed")
}



@IBAction func showAllNotificationsButtonPressed(_ sender: Any) {
print("showAllNotificationsButtonPressed")
}
}



class CoopViewCell: UITableViewCell {


@IBOutlet weak var CoopName: UILabel!

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

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}



class NotificationViewCell: UITableViewCell {

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

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}

在我看来,我应该看到 3 个表格行说“foo bar”。
但我没有。只要得到这个。

enter image description here

也没有得到 3 个预期的“Was here”控制台日志。
我错过了什么?

最佳答案

根据Apple Developer site

尝试在 API 调用后重新加载 tableView。

tableView.reloadData()

关于ios - UITableView 不显示 UITableViewCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60569380/

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