Использование некоторых «случайных символов» будет означать, что вы, по сути, используете String в качестве (действительно дерьмового) средства для транспортировки нескольких фрагментов данных.Но у нас уже есть способ сделать это с типами данных.
Мы можем создать структуру, которая содержит необходимую информацию для описания игры в баскетбол.Мы можем передавать эти данные по всему нашему приложению с очень легким доступом к его важным компонентам.Только нашему уровню UI нужна строка, поэтому мы всегда генерируем строковое описание этой структуры в самый последний момент, прямо на уровне UI.
struct BasketballTeam {
var name: String
}
struct BasketballGame: CustomStringConvertible {
let homeTeam: BasketballTeam
let awayTeam: BasketballTeam
let eventName: String
var description: String {
return "The \(homeTeam.name) are playing the \(awayTeam.name) in the \(eventName)."
}
}
let game = BasketballGame(
homeTeam: BasketballTeam(name: "Toronto Raptors"),
awayTeam: BasketballTeam(name: "Golden State Warriors"),
eventName: "NBA Finals"
)
print(game.description) // => The Toronto Raptors are playing the Golden State Warriors in the NBA Finals.