答案 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!)
它会起作用。