返回swift代码的类型

时间:2015-04-06 10:13:48

标签: swift return-type

我创建了一个返回多个值的函数。

然而,在我的代码中,我希望在var中捕获这些值。 我如何在班上宣布这个var?我需要知道究竟返回了什么以及它的类型。

如果你能解释原因,以及如何自己解决这个问题,我将非常感激。

这是我的代码的一部分:

 func returnTypes(value: Int) -> (international:String, europe: Int, us: Int, ru: Int){
    if value >= 86 && value <= 118{
        switch value{
        case 88:
            return ("XXS",28, 28, 42)
        case 90:
            return ("XS",29, 29, 44)
        case 92:
            return ("S",30, 30 ,46)
        default:
            return ("XXS", 28,28,42)
        }
    }
}

这是我想要获取结果的地方:

if gender == NSLocalizedString("GENDER_MALE",comment: "COMMENT"){
          returned = converter.returnTypes(NSDEFAULTMETHOD.toInt()!)

1 个答案:

答案 0 :(得分:1)

首先,注意这不是多个返回值,而是返回包含多个值的一个对象的元组。要在变量中访问它们,变量需要是相同类型的元组(这是函数的返回类型)。此外,您需要在if语句之外返回函数中的某些内容。

func returnTypes(value: Int) -> (international:String, europe: Int, us: Int, ru: Int) {
    if value >= 86 && value <= 118{
        switch value{
        case 88:
            return ("XXS",28, 28, 42)
        case 90:
            return ("XS",29, 29, 44)
        case 92:
            return ("S",30, 30 ,46)
        default:
            return ("XXS", 28,28,42)
        }
    }
    return ("",0,0,0)
}

var tuple: (international:String, europe: Int, us: Int, ru: Int) = returnTypes(5)

并访问值:

tuple.europe
tuple.international
tuple.ru
tuple.us