无法让文本显示在标签中。我可以在控制台中看到文本,但是我收到一条错误,上面写着Nil

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法让文本显示在标签中。我可以在控制台中看到文本,但是我收到一条错误,上面写着Nil相关的知识,希望对你有一定的参考价值。

我将数据从一个视图控制器传递到另一个。如果我将文本打印到控制台,它将显示。但是,当我尝试将文本添加到视图控制器上的标签时,我会在解开可选项时遇到关于Nil的错误。

这是我最初的View Controller的代码

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let selectedLady = DataService.instance.getLadies()[indexPath.row]
        performSegue(withIdentifier: "LadyView", sender: selectedLady)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let ladyView = segue.destination as? LadyView {
            assert(sender as? Lady != nil)
            ladyView.initLadies(selectedLady: sender as! Lady)
            //ladyView.selectedLadyName = selectedLady["name"]

        }
    }

这是在第二个控制器中等待的代码

func initLadies(selectedLady: Lady) {
    print(selectedLady.name)
    //This is the line that says it's Nil
    LadyName.text = selectedLadyName
}

这是我的女士结构

struct Lady {
    private(set) public var name: String
    private(set) public var imageName: String
    private(set) public var subTitle: String
    private(set) public var body: String

    init(name: String, imageName: String, subTitle: String, body: String) {
        self.name = name
        self.imageName = imageName
        self.subTitle = subTitle
        self.body = body
    }
}

谢谢您的帮助。

我在这篇文章Passing data from table view to view controller中看了另一个答案,尽管它的相似之处似乎有点不同。

答案

func initLadies(selectedLady:Lady){

print(selectedLady.name)
LadyName.text = selectedLadyName.name

}

试试这个@CL Maciel

以上是关于无法让文本显示在标签中。我可以在控制台中看到文本,但是我收到一条错误,上面写着Nil的主要内容,如果未能解决你的问题,请参考以下文章

如何让文本标签显示表格中有多少行

html中表格怎样设置文字居中

无法在表格视图中显示文本标签

SwiftUI:在 ScrollView 中显示 HTML 文本

打标签怎么把字居中

无法根据标签的文本动态调整标签的高度