【问题标题】:How to display UILabel text of my TableView Controller?如何显示我的 TableView 控制器的 UILabel 文本?
【发布时间】:2019-11-05 06:39:04
【问题描述】:

我在这里使用 Realm 数据库。我有一个 tableview 控制器,它有很多 UILabel,我是通过从那些 Xcode UI 元素中拖动来创建的。在这种情况下,我尝试使用数据源方法通过设置 cell = UILabel.text 来显示 UILabel 文本。但是,Xcode 给了我一个错误,说 UILabel 没有属性“文本”,这与我从苹果纪录片中看到的不同。

我应该怎么做才能在 TableView 控制器上显示这些 UILabel 文本。如果我现在在 Xcode 上运行我的项目,所有 UILabel 文本都不会显示。

我认为我可以使用以下方式来显示那些 UILabel 文本:


import UIKit
import RealmSwift

class NewIdeaCreation: UITableViewController {

    let realm = try! Realm()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return ideaTable.count ?? 1
}

// Provide a cell object for each row.
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

   let cell = tableView.dequeueReusableCell(withIdentifier: "cellTypeIdentifier", for: indexPath)

   // Configure the cell’s contents.
   cell.textLabel!.text = UILabel.text[indexPath.row]

   return cell
}

【问题讨论】:

  • 您应该始终添加您的代码,以便更轻松地为您提供帮助。例如,您是否有故事板、xib 或者您的 UI 是通过编程方式创建的?设置 UILabel 文本的代码在哪里?把你的视图控制器放在这里,你的单元格也放在这里。 UILabel 确实有一个文本属性,但是你如何连接你的 UILabel 和你的 UILabel 类型的变量?
  • 谢谢你让我以后编辑得更好。
  • 你好。只是一个澄清。当你说我有一个有很多UILabel 的tableview 控制器时,我想你的意思是,你的UITableViewCell 有多个标签,对吗?您还有要在此表中显示的项目数组吗?
  • @Isuru 你好,是的,UITableViewCell 中的单元格中有多个标签。它们由堆栈视图组织。我没有一系列项目。而我刚刚添加了这个tableview控制器的图片。
  • @Sammy 我在下面发布了一个答案。我对您的 Realm 对象做了一些假设。如果您也可以发布该代码,那么也许我可以更新我的答案以更好地满足您的问题。

标签: ios swift uitableview uilabel


【解决方案1】:

您不能直接访问UILabels 的text 属性,因为它不是类属性。 text 是一个实例属性。您首先创建UILabel 的实例,然后将其设置为text 值。像这样,

let label = UILabel()
label.text = "Some text"

UITableViewCells 已经有一个名为 textLabelUILabel 实例。您可以像这样设置其text 属性的值。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cellTypeIdentifier", for: indexPath)

    // Configure the cell’s contents.

    // I'm assuming you have a Realm object called `Idea`
    // And `ideas` is an array of those `Idea` objects
    let idea = ideas[indexPath.row]
    cell.textLabel?.text = idea.name

    return cell
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多