Сбой при сравнении возвращаемого значения со строкой - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь вернуть значение (строку) из php в приложение IOS:

echo "1";

Это быстрый код:

let returnedData = NSString(data: unwrappedData, encoding: String.Encoding.utf8.rawValue) as! String
print(returnedData)
if returnedData == "1" {
     ... something
}

Функция печати показывает правильныйзначение (то есть 1).Но проверка не проходит.

1 Ответ

0 голосов
/ 13 июня 2018

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...