可以打印变量,但是将其分配给另一个变量时返回nil(Swift)

汤姆波拉

我已经快速编写了一个应用程序,而部分问题是它具有两个视图及其相应的视图控制器。该部分的目的是使用户单击控制器1上的某个单元格,该单元格将打开一个带有表格视图的模态视图,表格视图带有可供选择的表格视图单元格。当用户点击一个时,它应该返回到控制器1并更新原始单元格上的详细信息文本。问题是标签将不会更新。这是代码:

此代码来自模态视图控制器。这是获取所选单元格并更新变量的代码。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    var find = totalProducts[productSectionTitles[indexPath.section]]!
    selectedCell = find[indexPath.row]
    let rootController = TableViewController()
    println("\(selectedCell) from productController from selectedCell variable")
    rootController.updateText(selectedCell)
    self.dismissViewControllerAnimated(true, completion: nil)
    cell.accessoryType = UITableViewCellAccessoryType.Checkmark
}

该代码来自启动模态视图的控制器1。这是从模态视图控制器中调用以更新文本。

func updateText(transferVar: String) {
    println("\(transferVar) from rootController from transfer parameter")
    detailsLabel?.text = transferVar
    println(detailsLabel?.text)

}

因此,该参数可以在模态视图控制器与rootController之间完美地传输数据,并且它肯定会保留一个值,因为它会打印出正确的值。但是,当我尝试分配它返回nil时,我在应该分配了detailText后通过println()发现了它。这是单击单元格时控制台打印的内容。

Wood4 from productController from selectedCell variable
Wood4 from rootController from transfer parameter
nil

我不知道如何获取标签以打印出transferVar。我应该补充一点,标签已连接到视图。我该如何解决?

提前致谢。希望你能理解。:]

康纳

detailsLabel是否已加载?如果它是一个隐式展开的插座,则可能尚未加载,并且仍然为零。尝试不使用来访问它?目前,它正在无声地失败,如果没有,?它应该会崩溃。

为了确保在分配detailLabel之前将其分配给标签,您可以在中分配viewDidLoad()一种简单的方法是在中分配实例变量,text()然后在中将标签设置为该变量viewDidLoad()

var labelText: String!
func text(transferVar: String) {
    println("\(transferVar) from rootController from transfer parameter")
    labelText = transferVar
}
public override func viewDidLoad(){
    detailsLabel.text = labelText
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以将CSS变量分配给另一个变量吗?

几个变量的结果可以分配给 Shiny 中的另一个变量吗?

在 bash 变量中应用 sed 并将其分配给另一个

NodeJS Express。res.send()分配给另一个变量时失败

在函数中获取变量并将其分配给其范围之外的另一个变量

运行查询生成器后,原始变量被修改,同时将其分配给另一个变量

Gatsby中的children变量是什么?如何将其分配给另一个组件?

在 Swift 中声明一个类类型的变量并将其分配给不同的变量

将struct的第一个变量分配给另一个

Python将值从一个变量分配给另一个

在JMeter中将变量分配给另一个变量

无法将结构变量分配给另一个结构变量

如何将公式的值(包含变量)分配给另一个变量

将变量的值存储在另一个变量中,然后在python的循环中将其重新分配给该变量

在将变量分配给另一个值之前删除它是否可以解决任何内存问题?

在Python中将一个变量的值分配给另一个变量时会发生什么?

如何在shell脚本中将一个变量值分配给另一个变量

如何通过 BASH 主机命令一个变量并将答案分配给另一个变量

将另一个网页的特定数据分配给变量或数组

bash脚本,从另一个shell执行shell并将结果分配给变量

使用扫描仪值分配给另一个类的变量?

比较数据框内的日期并将值分配给另一个变量

bash在操作后将变量分配给另一个

如何将我的选择选项分配给另一个变量

如何将变量列表分配给另一个列表

将const变量的成员分配给另一个const

如何将另一个文件中的变量分配给类常量?

PHP将php变量分配给另一个php条件

如何选择CSS变量并将样式值分配给另一个元素