2014-09-22 2 views
0

스위프트에 튜플이 추가 된 새로운 유형이 있습니다. 튜플 내의 값은 모든 유형이 될 수 있고 서로 동일한 유형 일 필요는 없다는 것을 알고 있습니다. 하지만 그 외에 배열/사전에는 할 수없는 것이 있지만 튜플은 할 수 있습니까?스위프트의 튜플

+0

튜플을 배열 및 사전과 혼동하지 마십시오. 배열과 사전은 콜렉션이지만 튜플은 값을 복합 값으로 그룹화 한 것입니다. – MadNik

답변

0

튜플에 변수라는 이름이 있습니다. 어떤 경우에는,이 키 또는 인덱스에 바람직하다 :

let newTuple = (variableOne: 20, variableTwo: "Hi There") 
newTuple.variableOne 
newTuple.variableTwo 

당신은 더이 적용 typealias를 사용할 수 있습니다

:

typealias namedTuple = (variableOne: Int, variableTwo: String) 

let newTuple: namedTuple = (20, "Hi There") 
newTuple.variableOne 
newTuple.variableTwo 

또한 함수의 반환 형식에 대한 자세한 명시 될 수 있습니다

func controlledReturnType() -> (Int, String) { 
    return (1, "Yup") 
} 
1

아, 어제 나는 튜플을 반환하는 함수를 사용하여 대답했습니다. 다른 유형의 두 값을 출력합니다. 어떤 사람은 강아지 이름과 나이를 맞추기 위해 switch 문을 사용하려고했습니다.

func dogMatch(age: Int, name: String) -> (Match: String, Value: Int) { 

    switch (age, name) { 
    case(age, "wooff"): 
        println("My dog Fido is \(age) years old") 
     return ("Match", 1) 
    case (3, "Fido"): 
     return ("Match", 10) 
    default: 
     return ("No Match", 0) 
    } 
} 

dogMatch(3, "Fido").Match 
dogMatch(3, "Fido").Value 

튜플에는 다른 유형의 값이 들어 있습니다.

+0

배열이 없습니다. 튜플과 배열을 혼동하지 않도록주의하십시오! –