Как я уже писал в своем комментарии, ваш сервер отправляет текстовое представление целого числа.
Вам нужно написать что-то вроде этого:
if error != nil
{
//...
return
}
else
{
if let data = data {
//First convert the data into String
if let text = String(data: data, encoding: .utf8) {
//And then into Int
if let value = Int(text) {
print(value)
//... use the value
} else {
print("text cannot be converted to Int")
}
} else {
print("data is not in UTF-8")
}
} else {
print("data == nil")
}
}
Код выше может быть проще, если вам не нужны print
с.
Используя guard
, как предложил Martin R, приведенный выше код выглядит примерно так:
guard let data = data else {
print("data == nil")
return
}
guard let text = String(data: data, encoding: .utf8) else {
print("data is not in UTF-8")
return
}
guard let value = Int(text) else {
print("text cannot be converted to Int")
return
}
print(value)
//... use the value
Вы можете избежать глубоко вложенного кода, используя guard
. (Вы можете использовать guard
для проверки error != nil
, но я оставлю это для вас.)