无法在表格视图中显示文本标签
Posted
技术标签:
【中文标题】无法在表格视图中显示文本标签【英文标题】:unable to display text label in table view 【发布时间】:2020-05-11 10:17:14 【问题描述】:我正在使用自定义单元格构建表格视图。及时单元格应该包含各种标签,但目前只有一个标签(用作测试)。
当我运行应用程序时,一切看起来都不错,但是 cell.textLabel.text 没有出现在应用程序中。每个单元格都是空白的。
对于显示的数据,我在此处可见的单独文件中构建了一个模型:
import Foundation
class CountryDataModel
let countryName: String
let casesData: String
let deathsData: String
let recoveriesData: String
init(country: String, cases: String, deaths: String, recoveries: String)
countryName = country
casesData = cases
deathsData = deaths
recoveriesData = recoveries
这是表格视图的视图控制器:
import UIKit
class PaysTableViewController: UITableViewController
override func viewDidLoad()
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
listOfCountryAndRelatedData()
//MARK: - Relevant data
var countryList = [CountryDataModel]()
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int
// #warning Incomplete implementation, return the number of sections
return 0
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
// #warning Incomplete implementation, return the number of rows
return countryList.count
//
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
// Configure the cell...
let indexPath = countryList[indexPath.row]
cell.textLabel?.text = indexPath.countryName
return cell
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
print("success")
func listOfCountryAndRelatedData()
let country1 = CountryDataModel(country: "Algeria", cases: "0", deaths: "0", recoveries: "0")
countryList.append(country1)
let country2 = CountryDataModel(country: "Bahamas", cases: "0", deaths: "0", recoveries: "0")
countryList.append(country2)
let country3 = CountryDataModel(country: "Seychelles", cases: "0", deaths: "0", recoveries: "0")
countryList.append(country3)
【问题讨论】:
在将数据附加到数组后尝试使用tableView.reloadData()
方法。确保为 tableView 设置了 delegate
和 datasource
。
【参考方案1】:
将 numberOfSections 设置为 1
override func numberOfSections(in tableView: UITableView) -> Int
return 1
然后在将数据添加到您的 countryList
后刷新您的表格func listOfCountryAndRelatedData()
//add your data to arry
self.tableView.reloadData()
【讨论】:
以上是关于无法在表格视图中显示文本标签的主要内容,如果未能解决你的问题,请参考以下文章