私はそのテキストプロパティを設定UILabelを持っている、とUILabelはオプション( "P")
let firstCharacter: String = "\(user.name.characters.first)" ?? ""
print(firstCharacter)
userNameLabel.text = firstCharacter
出力を示しています。オプション( "P")
私はそのテキストプロパティを設定UILabelを持っている、とUILabelはオプション( "P")
let firstCharacter: String = "\(user.name.characters.first)" ?? ""
print(firstCharacter)
userNameLabel.text = firstCharacter
出力を示しています。オプション( "P")
文字列補間user.name.characters.first
は、user.name.characters.first
がnilであっても、補間された文字列が "nil"になるため、常にString
を作成します。
正解はそうのように、オプションのラップ
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)"
}
は次のように印刷。
println(firstCharacter!)
となります。
です:あなたは次のコードは、使用することができ、最初の文字を取得する必要があり、それは最初の文字を取るよりも正確であるかどう
if let userName = user.name.characters.first {
userNameLabel.text = userName
}
let firstCharacter = user.name.substringToIndex(user.name.startIndex.advancedBy(1))
文字列がnの場合は、この呼び出しの前にチェックする必要がありますot空です。