首页 > 解决方案 > 我可以用一个元组在一行中声明和初始化多个变量吗?

问题描述

我有一个返回 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"])

我知道上面的行不能编译,但是有一些语法允许这个功能吗?

标签: swiftvariablesinitializationtuplesdeclaration

解决方案


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"])

推荐阅读