Как отобразить текст UILabel моего контроллера TableView? - PullRequest
1 голос
/ 23 июня 2019

enter image description here

Я использую базу данных Realm здесь. У меня есть контроллер таблиц с большим количеством UILabel, который я создал путем перетаскивания из этих элементов пользовательского интерфейса Xcode. Я попытался использовать метод источника данных для отображения текста UILabel, установив в этом случае cell = UILabel.text. Тем не менее, Xcode дает мне сообщение об ошибке, говоря, что UILabel не имеет атрибута «текст», который отличается от того, что я вижу в документальном фильме Apple.

Что я должен сделать для отображения текста UILabel на контроллере TableView. Если я сейчас запустил свой проект на 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
}

1 Ответ

0 голосов
/ 23 июня 2019

Вы не можете получить доступ к свойству text UILabel s напрямую, так как это не свойство класса.text является атрибутом экземпляра.Сначала вы создаете экземпляр UILabel, а затем устанавливаете его значение text.Точно так же,

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

UITableViewCell s уже имеют экземпляр UILabel с именем textLabel.Вы можете установить значение его свойства '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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...