Я использую alamofire для публикации данных в php-скрипте, который вставляет данные в базу данных mysql. Эта часть работает нормально, но у меня есть проверка на сервере, например, проверка действующего адреса электронной почты, например. Итак, вот быстрый код:
Alamofire.request(url!, method: .post, parameters: parameters)
.validate(statusCode: 200..<300)
.responseJSON { response in
switch response.result {
case .success:
print(response)
case .failure(let error):
print(error)
}
}
Вот php, который обрабатывает вставку.
if($booking->create($conn)) {
$response['status'] = "200";
$response['message'] = "Success";
} else {
$response['status'] = "400";
$response['message'] = $booking->errors;
}
echo json_encode($response);
В swift, ответ в консоли на неудачную проверку:
SUCCESS: {
message = (
"Invalid email address",
"Contact number required"
);
status = 400;
}
Если ошибок нет, я на самом деле хочу перейти к другому контроллеру представления, и если есть ошибки, я хочу отобразить их в ярлыках.
Но сначала я просто хотел сказать, есть ли какие-либо ошибки, распечатать их и, если ошибок нет, тогда переходить. Но если я пытаюсь вставить в ответ оператор if, я получаю сообщение об ошибке.
case .success:
if response == "200" {
// segue
}
Двоичный оператор '==' нельзя применять к операндам типа
«DataResponse» и «String»