String (...) дает мне Необязательный ("1 \ n \ n")
Это означает, что за выводом следуют два символа новой строки, как в этом примере:
let data = Data(bytes: [0x31, 0x0a, 0x0a])
if let string = String(data: data, encoding: .utf8) {
print(string) // 1
print(string.debugDescription) // "1\n\n"
print(string == "1") // false
}
debugDescription
- очень полезный метод для обнаружения «невидимых» строковых символов.
Решение (сравнить Есть ли у Swift метод обрезки для String? ):
let trimmed = string.trimmingCharacters(in: .whitespacesAndNewlines)
print(trimmed == "1") // true