2015-04-06 104 views
2

我創建了一個返回多個值的函數。快速代碼的返回類型

但是,在我的代碼中,我想要捕獲這些值在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

首先,注意這不是多個返回值,而是一個返回一個包含多個值的對象的元組。要在變量中訪問它們,變量需要是相同類型的元組(這是函數的返回類型)。另外,你需要在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 
+0

非常感謝您! – 2015-04-06 10:29:42