UILabel显示可选(" P")

时间:2016-03-30 10:15:50

标签: ios swift

我有一个UILabel,我在其中设置了text属性,

==

输出:可选(" P")

enter image description here

4 个答案:

答案 0 :(得分:3)

字符串插值user.name.characters.first将始终创建String,因为即使user.name.characters.first为nil,插值字符串也将为“nil”。

正确的解决方案是

userNameLabel.text = "" //set the default value as ""
//if the name contains atleast one char then set it
if let firstCharacter = user.name.characters.first {
    userNameLabel.text = "\(firstCharacter)"
}

答案 1 :(得分:1)

像这样包装可选:

if let userName = user.name.characters.first {
   userNameLabel.text = userName
} 

答案 2 :(得分:-3)

如果您需要获得第一个字符,您可以使用以下代码,这比采用第一个字符

更正确
let firstCharacter = user.name.substringToIndex(user.name.startIndex.advancedBy(1))

但请注意,如果字符串不为空,则需要在此调用之前进行检查。

答案 3 :(得分:-4)

像这样打印。

println(firstCharacter!)

它会起作用。