【发布时间】:2014-10-16 10:30:11
【问题描述】:
我已经用 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,我通过 println() 发现了它应该分配后的 detailText。这是单击单元格时控制台打印的内容。
Wood4 from productController from selectedCell variable
Wood4 from rootController from transfer parameter
nil
我不知道如何让标签打印出 transferVar。我应该补充一点,标签连接到视图。我该如何解决这个问题?
提前致谢。 希望你明白。 :]
【问题讨论】:
标签: ios swift variable-assignment