使用数组设置标签文本会出现错误“从‘[String]’转换为不相关的 'String' 总是失败

set text of label with array gives error "Cast from '[String]' to unrelated 'String' always fails

我正在通过 segue 传递一个数组,效果很好。然后我想用数组设置标签的文本,但即使打印命令显示数组,结果屏幕还是空白。这是代码。

class MessageViewController: UIViewController, UIViewControllerTransitioningDelegate {


var passArrayForSegue = [String]()


@IBOutlet weak var arrayforSegue: UILabel!


override func viewDidLoad() {


    print(passArrayForSegue)

    arrayforSegue.text = passArrayForSegue as? String

}

当需要字符串时,您不能直接将标签文本设置为数组。如果要将文本设置为数组的内容,则需要遍历它并从数组中获取字符串。

您正在尝试将 arrayforSegue 的文本设置为 UILabel.text 属性 的类型为 String 而你的 passArrayForSegue 的类型为 Array<String> (你使用了另一种声明数组的方法,即 [String] ).设置 .text 属性 的一种简单方法是遍历数组的对象并将它们附加到字符串。

更新

您可以在 this post

中了解如何将数组连接成字符串