Невозможно преобразовать значение типа "subSequence" (aka "String.CharacterView"), чтобы ввести "String" в коллекции

Я создаю вебсервис, запрашивающий URL-адрес изображения из базы данных. И я хочу показать это быстро. Но я получаю эту ошибку на строке var var:

Невозможно преобразовать значение типа "subSequence" (aka "String.CharacterView"), чтобы ввести "String" в коллекции

let requestResponse = self.sendToServer(postUrl: "localhost",data:"abc")

let Seperated = requestResponse.characters.split(separator: " ")

var photo = Seperated[0] as String

let imageURL = URL(string: photo)
if let imageData = try? Data(contentsOf: imageURL!) {
    ...
}

Ответы

Ответ 1

Рассмотрим что-то вроде этого:

let requestResponse = "some string"
let separated = requestResponse.characters.split(separator: " ")

if let some = separated.first {
    let value = String(some)

    // Output: "some"
}

Ответ 2

Если Swift 4 вы используете как это:

let separated = requestResponse.split(separator: " ")
var photo = String(separated.first ?? "")

Ответ 3

Подход к получению строк из разбиения строки с использованием функций высокого порядка:

    let splitStringArray = requestResponse.split(separator: " ").map({ (substring) in
        return String(substring)
    })

Ответ 4

Самое простое решение.

let Seperated = requestResponse.characters.split(separator: " ").map { String($0) }