2016-03-30 2 views

ответ

3

String Interpolating user.name.characters.first всегда будет создавать String, потому что даже если user.name.characters.first равен нулю, интерполированная строка будет «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)" 
} 
-4

печати, как это ,

println(firstCharacter!) 

будет работать.

1

Wrap необязательно так:

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

Если вам нужно, чтобы получить первый символ, который вы можете использовать следующий код и он будет более правильным, чем принимать первый символ

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

Но учтите, что перед этим вызовом необходимо проверить, является ли строка n ot пустой.

Смежные вопросы