Как напечатать несколько объектов в одном операторе печати в Swift? - PullRequest
0 голосов
/ 04 мая 2020

Я создаю приложение, которое извлекает данные JSON из OpenWeatherMap API. В моем приложении у меня есть такие структуры:

struct WeatherData: Decodable {
    let name: String
    let main: Main
    let coord: Coord
}

struct Main: Decodable {
    let temp: Double
}

struct Coord: Decodable {
    let lon: Double
    let lat: Double
}

В одном из моих операторов печати я хочу распечатать все значения из Coords в одном операторе печати, например, print(decodedData.coord.lat)

Как мне отформатировать оператор печати, чтобы он мог печатать как значение lat, так и значение lon?

1 Ответ

1 голос
/ 04 мая 2020

print принимает Any... в качестве первого параметра. Первое предложение в документации гласит:

Вы можете передать ноль или более элементов в функцию print(_:separator:terminator:).

Это означает, что вы можете передать любое количество аргументов. в этой позиции, и все они будут распечатаны:

print(decodedData.coord.lat, decodedData.coord.lon)

Эти две вещи будут разделены пробелом по умолчанию. Вы можете передать аргумент separator:, чтобы указать, какой разделитель вы хотите.

...