ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Tuples - Tuples
    iOS/🟠 Swift 2020. 10. 25. 10:30

     

    " ν•˜λ‚˜μ˜ μƒμˆ˜ ν˜Ήμ€ λ³€μˆ˜μ— μ—¬λŸ¬ 개의 값을 μ €μž₯ν•  수 μžˆμ„κΉŒ?"

     

    기쑴의 Int, String κ³Ό 같은 νƒ€μž…μ€ ν•˜λ‚˜μ˜ μƒμˆ˜ ν˜Ήμ€ λ³€μˆ˜μ— ν•˜λ‚˜μ˜ 값을 μ €μž₯ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

    이런 νƒ€μž…μ„ Scalar Type 이라고 ν•©λ‹ˆλ‹€.

     

    Tuples 은 Compound Type μž…λ‹ˆλ‹€. μ—¬λŸ¬ 개의 값을 μ €μž₯ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

     

    let myTuples = (1, "This", "is", "Awesome", 111)

     

    Tuples 은 κ΄„ν˜Έλ₯Ό μ΄μš©ν•˜μ—¬ ν‘œν˜„ν•©λ‹ˆλ‹€.

    κ΄„ν˜Έ μ•ˆμ˜ ν•˜λ‚˜ ν•˜λ‚˜μ˜ μš”μ†ŒλŠ” Member 라고 λΆ€λ¦…λ‹ˆλ‹€.

    μœ„μ˜ myTuples λŠ” ( Int, String, String, String, Int ) ν˜•μ„ κ°–μŠ΅λ‹ˆλ‹€.

     

    μ„ μ–Έλœ Tuples의 Members λŠ” μΆ”κ°€ 및 μ œκ±°κ°€ λΆˆκ°€λŠ₯ ν•©λ‹ˆλ‹€.

     

    Tupels 의 Members λŠ” . (dot) 을 μ΄μš©ν•˜μ—¬ μ ‘κ·Όν•©λ‹ˆλ‹€.

     

    Tuples λŠ” κ°’ ν˜•μ‹ μž…λ‹ˆλ‹€.

    λ”°λΌμ„œ λ‹€λ₯Έ Tuples 에 λŒ€μž… μ‹œ 값이 λ³΅μ‚¬λ˜μ–΄ μ €μž₯λ©λ‹ˆλ‹€.


     

    Mutability

     

    μƒμˆ˜ Tuples λŠ” Immutable ν•©λ‹ˆλ‹€. ( λΆˆλ³€ νŠœν”Œ )

    λ³€μˆ˜ Tuples λŠ” Mutable ν•©λ‹ˆλ‹€. ( κ°€λ³€ νŠœν”Œ )

     

    λ‘˜μ˜ μ°¨μ΄λŠ” Members κ°’μ˜ λ³€κ²½ κ°€λŠ₯ μ—¬λΆ€ μž…λ‹ˆλ‹€.

     

    let immutableTupels = ("can't", "change", "members")
    immutbaleTupels.0 = "can"    // compile error
    
    var mutableTuples = ("i", "can" , "lol")
    mutableTuples.2 = "tho"    // ("i, "can", "tho")

     

    Named Tuples VS. Unnamed Tuples

     

    μœ„μ—μ„œ λ³΄μ—¬λ“œλ¦° μ½”λ“œλŠ” λͺ¨λ‘ Unnamed Tuples μž…λ‹ˆλ‹€.

    Tuples 의 Members μ ‘κ·Ό λ°©λ²•μ—μ„œ 직관적이지 μ•Šμ•„, 가독성이 λ–¨μ–΄μ§‘λ‹ˆλ‹€.

     

    μ•„λž˜λŠ” Named Tuples 와 Unnamed Tuples 의 Members μ ‘κ·Ό λ°©μ‹μ˜ 차이λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

    /* Unnamed Tuples */
    let guest1 = ("David", 19, "U.S")
    
    guest1.0    // "David"
    guest1.1    // 19
    guest1.2    // "U.S"
    
    /* Named Tuples */
    let guest2 = (name: "Laura", age: 21, nationality: "France")
     
    guest2.name         // "Laura"
    guest2.age          // 21
    guest2.nationality  // "France"

     

    Named Tupels 의 Members μ ‘κ·Ό 방식이 더 μ§κ΄€μ μœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

    Swift μ—μ„œλŠ” . (dot) 을 μ΄μš©ν•œ 문법을 Explicit Member Expression 이라고 λΆ€λ¦…λ‹ˆλ‹€.

     

     

     

    끝.


    'iOS > 🟠 Swift' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    Type Inference - Data Types  (0) 2020.11.03
    3 features of First Class Citizen - Function  (0) 2020.11.02
    Swift) Raw Value - Enumeration  (0) 2020.10.24
    Optional Unwrapping - Optionals  (0) 2020.10.09
    Optionals - Optionals  (0) 2020.10.09

    λŒ“κΈ€

μ–΄μ œλ³΄λ‹€ λ°œμ „ν•œ λ‚˜