Arrays 从字符数组中删除可选字符-Swift 3

Arrays 从字符数组中删除可选字符-Swift 3,arrays,swift,database,optional,Arrays,Swift,Database,Optional,如何使用Swift 3删除可选字符并转换为自然字符数组 这是我的代码: for data in listdata { // listdata is (Database) has a variable (ans) let tar = data.ans.characters.map({$0}) lblLabel.text = String(describing: tar) } print(lblLabel.text) 我的输出: 可选([\'A\',\'B\',\'C\',\

如何使用Swift 3删除可选字符并转换为自然字符数组

这是我的代码:

for data in listdata { // listdata is (Database) has a variable (ans)

    let tar = data.ans.characters.map({$0})

   lblLabel.text = String(describing: tar)

}

print(lblLabel.text)
我的输出:
可选([\'A\',\'B\',\'C\',\'D\'”)

我想转换我的输出并在
lblLalbel
中添加文本,而不使用如下可选和数组:

A B C D

如何做到这一点?

标签的
text
属性的类型为
String?
这一事实决定了标签的“可选”属性。打印时需要安全地打开包装;使用nil合并操作符
效果很好

要仅获取由空格分隔的数组项,请使用
映射{String($0)}
将字符转换为
[String]
,然后使用
连接(分隔符:“”)
将元素连接在一起,形成最终的
字符串

for data in listdata { // listdata is (Database) has a variable (ans)

    let tar = data.ans.characters.map { String($0) }
    // Swift 4:  let tar = data.ans.map(String.init)

    lblLabel.text = tar.joined(separator: " ")

}

print(lblLabel.text ?? "")  // "A B C D"

print(lblLabel.text!)
它与print一起工作,但在
targetLabel.text=String(description:tar)
在模拟器中获取可选文本,我如何才能像打印标签文本一样呢@LUK2302什么类型的
tar
?不要使用
String(description:)
初始化字符串,因为它只使用变量的
.description
属性。@DávidPásztor,不完全是。比如说,您需要类的名称
YourViewController
,如果使用
self.description()
,您将获得
ProjectTargetName.YourViewController
。但是如果您使用
String(description:self)
您将获得
YourViewController
。现在在我的
lblLabel
中添加文本:
[“A”、“B”、“C”、“D”]
如何删除标签文本中的数组@Alekseypotapovw当我写
String.init
get me error:“init”的用法不明确,当我写
String.init()时,get me error:“No”String.Type.init“候选者产生预期的上下文结果类型”(Character)throws->@vacawamahmm。String.init适合我。尝试映射{String($0)}。谢谢,现在它可以工作了,但是我有4个标签,我只想添加每个标签一个字符。我怎么做@vacawama@AmeenMK停止动态创建新问题/要求。你应该从这个问题开始。因为这会改变整个数组和标签处理。好的,抱歉@luk2302