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