使用数组设置标签文本会出现错误“从‘[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
中了解如何将数组连接成字符串
我正在通过 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
中了解如何将数组连接成字符串