Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我无法将单元格标签文本传输到UILabel_Ios_Swift_Uitableview - Fatal编程技术网

Ios 我无法将单元格标签文本传输到UILabel

Ios 我无法将单元格标签文本传输到UILabel,ios,swift,uitableview,Ios,Swift,Uitableview,我在将tableviewcell的标签文本设置为另一个viewcontroller的UILabel时遇到了一些问题 我的代码如下: let indexPath = tableView.indexPathForSelectedRow; let currentCell = tableView.cellForRow(at: indexPath!)!as! ViewControllerTableViewCell let storyboard = UIStoryboard(name

我在将tableviewcell的标签文本设置为另一个viewcontroller的UILabel时遇到了一些问题

我的代码如下:

    let indexPath = tableView.indexPathForSelectedRow;
    let currentCell = tableView.cellForRow(at: indexPath!)!as! ViewControllerTableViewCell
    let storyboard = UIStoryboard(name:"Main",bundle:nil)
    var viewController = storyboard.instantiateViewController(withIdentifier: "DetailVC")as! DetailVC
    viewController.comText = currentCell.labelName.text
    present(viewController, animated: true, completion: nil)

不确定它是否如此琐碎,但您的comText实际上是一个UILabel? 因为如果是这样,则必须设置文本属性,而不是整个对象:

viewController.comText = currentCell.labelName.text
应该如此

viewController.comText.text = currentCell.labelName.text

如果Massimo的建议无效,请尝试在创建视图控制器后添加以下行:

_ = viewController.view!

我现在没有打开我的Xcode,但这会导致viewDidLoad执行,从而使您的视图及其在故事板中声明/定义的相关小部件膨胀。然后,您可以将任何文本指定给目标UILabel.text属性。

发生的情况是,您正在尝试访问尚未创建的视图:

此代码将创建一个视图控制器

在这里,您试图在显示标签之前设置标签文本 控制器

此时,控制器尚未加载其视图。因为没有视图,所以没有标签。您应该做的是在destinationViewController中设置一个String属性,并在此处设置它。然后在destinationViewController的ViewDidLoad方法中,将标签文本设置为属性中引用的字符串

此代码显示viewcontroller并告诉它应该加载其视图

下面是视图控制器生命周期的图片

只有当视图触发ViewDidLoad方法时,才能使用该视图

从哪种方法执行上述代码?当您将值输出到日志时,viewController.comText包含什么值?如果出现任何错误,崩溃日志会说什么?错误是什么?不相关但不从单元格视图获取数据,从数据源模型获取数据。请发布您的viewController界面?comText声明在哪里?根据这一行:viewController.comText=currentCell.labelName.text comText已经是一个字符串属性,否则XCode至少应该抛出一个警告,可能会崩溃。问题是何时读取comText以将值设置为目标标签。我们无法确定它是字符串还是标签。。我已经发表了评论,但他还没有回复
var viewController = storyboard.instantiateViewController(withIdentifier: "DetailVC")as! DetailVC
viewController.comText = currentCell.labelName.text
present(viewController, animated: true, completion: nil)