Могу ли я объявить и инициализировать несколько переменных в одной строке с кортежем? - PullRequest
0 голосов
/ 24 января 2020

У меня есть функция, которая возвращает кортеж из 3 UIImages.

private func getImagesFrom(_ arr:[String]) -> (UIImage, UIImage, UIImage) {
    return (UIImage(named: arr[0]), UIImage(named: arr[1]), UIImage(named: arr[2])
}

Можно ли объявить и инициализировать 3 переменные из результата этой функции, например

(var imageOne, var imageTwo, var imageThree) = getImagesFrom(["img1", "img2", "img3"])

I знаете, что приведенная выше строка не компилируется, но есть ли какой-то синтаксис, который позволит эту функцию?

1 Ответ

0 голосов
/ 24 января 2020
func getImagesTuple(from array: Array<String>) -> (UIImage, UIImage, UIImage) {
  (UIImage(named: array[0])!, UIImage(named: array[1])!, UIImage(named: array[2])!)
}

let (imageOne, imageTwo, imageThree) = getImagesTuple(from: ["imageOne", "imageTwo", "imageThree"])
...