SwiftUI의 2/100일

13821 단어
2일차 노트입니다! 즐거운 시간 보내시고 질문이 있거나 문제가 있는 경우 , 또는 댓글에 알려주세요.

오늘의 주제
  • 어레이
  • 튜플
  • 사전
  • 세트
  • 열거형

  • 어레이



    배열은 특정 순서로 된 데이터 모음이며 단일 값으로 저장됩니다.

    내 애완 동물이 있는 배열의 예

    // values for array
    let thorgi = "Thorgi Wilson"
    let dobby = "Dobby Wilson"
    let cairo = "Cairo Wilson"
    let sydney = "Sydney Wilson"
    
    // creates the array
    let pets = [thorgi, dobby, cairo, sydney]
    


    배열에서 값을 검색하려면 값의 위치가 필요합니다. 배열의 위치는 0부터 시작합니다.

    예: dobby 값 가져오기

    pets[1] // Dobby Wilson
    


    존재하지 않는 위치에서 값을 가져오려고 하면 Swift가 충돌합니다.

    배열에 유형을 지정하려면 유형 주석을 괄호 안에 넣으십시오. 아래 이미지는 pets[6]에 위치가 4개뿐이므로 pets를 호출하면 인덱스가 범위를 벗어남 오류가 발생함을 보여줍니다.



    세트



    배열과 유사하지만 두 가지 주요 차이점이 있습니다.
  • 항목이 주문에 저장되지 않으며 다른 주문으로 반품될 수 있음
  • 모든 항목은 고유해야 합니다
  • .
    Set()를 사용하여 집합을 만들고 그 안에 항목 모음을 넣습니다.

    예시:

    let westNHLTeams = Set(["Ducks", "Blackhawks", "Coyotes", "Avalanche", "Flames", "Stars", "Oilers", "Wild", "Kings", "Predators", "Sharks", "Blues", "Canucks", "Jets", "Golden Knights"])
    


    중복 항목으로 세트를 생성하면 중복 항목이 무시됩니다.

    // flames and avalanche are duplicated
    let westNHLTwo = Set(["Ducks", "Blackhawks", "Coyotes", "Avalanche", "Avalanche", "Flames", "Flames", "Stars", "Oilers", "Wild", "Kings", "Predators", "Sharks", "Blues", "Canucks", "Jets", "Golden Knights"])
    
    print(westNHLTeams)
    // ["Blackhawks", "Predators", "Blues", "Stars", "Kings",
    // "Avalanche", "Golden Knights", "Coyotes", "Flames",
    // "Sharks", "Oilers", "Wild", "Ducks", "Canucks", "Jets"]
    
    print(westNHLTeamsTwo)
    // ["Blackhawks", "Predators", "Blues", "Stars", "Kings",
    // "Avalanche", "Golden Knights", "Coyotes", "Flames",
    // "Sharks", "Oilers", "Wild", "Ducks", "Canucks", "Jets"]
    
    


    두 개의 print 문에서 출력이 동일하다는 점에 유의하십시오.

    튜플



    하나의 값에 여러 값을 저장합니다. 튜플은 배열과 다르기 때문에
  • 튜플의 크기가 고정됨
  • 튜플의 항목 유형을 변경할 수 없습니다
  • .
  • 이름 또는 숫자 위치에서 튜플 항목에 액세스할 수 있습니다. Swift는 존재하지 않는 숫자나 이름을 읽지 못하게 합니다.

  • var name = (first: "Taylor", second: "Swift")
    
    name.0
    name.first
    




    각각 언제 사용합니까?



    배열, 집합 및 Tpples는 데이터 모음입니다. 그들 각각은 특정한 사용 사례를 가지고 있습니다.
  • 각 항목에 정확한 위치나 이름이 있는 경우 튜플을 사용해야 합니다
  • .
  • 컬렉션의 모든 값이 고유한 경우 집합을 사용해야 합니다
  • .
  • 순서가 중요하거나 중복이 필요한 경우 배열을 사용해야 합니다.
  • 배열은 가장 일반적인 데이터 유형이기도 합니다
  • .


    사전



    배열과 같은 calues ​​모음입니다.

    let captains = [
        "penguins": "Crosby",
        "wild": "Spurgeon",
        "sharks": "Couture"
    ]
    


    키가 존재하지 않으면 nil을 반환합니다.

    captains["penguins"] // Crosby
    captains["ducks"] // nil
    


    ducks에 기본값을 추가하면 반환 유형이 무엇인지 더 쉽게 알 수 있습니다.

    let captains = [
        "penguins": "Crosby",
        "wild": "Spurgeon",
        "sharks": "Couture",
        "ducks": "unknown"
    ]
    
    captains["penguins"] // Crosby
    captains["ducks"] // unknown
    


    빈 컬렉션



    유형 주석을 제공하여 빈 컬렉션을 만들 수 있습니다.

    var emptyArray: [String]
    var emptyDictionary: [String: Int]
    var emptySet = Set<String>()
    


    열거형(열거형)



    사용하기 쉬운 방식으로 관련 값을 정의합니다.
    다른 문자열을 사용하지 못하게 할 수 있습니다.

    let result1 = "failure"
    let result2 = "failed"
    
    enum Result {
        case failure
        case success
    }
    
    let result3 = Result.failure
    

    result1 , result2 , result3 는 실패인데 1 과 2 는 다른 문자열이기 때문에 실패 여부를 확인하기 어렵습니다. result3 에 열거형을 사용하면 항상 같은 결과를 얻을 수 있습니다.

    연결된 값에는 각 사례에 연결된 값이 있을 수도 있습니다. 이를 통해 사례를 보다 구체적으로 지정할 수 있습니다.

    enum AppleProducts {
        case iPhone(generation: String)
        case laptop(model: String)
    }
    
    let maegansPhone = AppleProducts.iPhone(generation: "12 Pro Max")
    let katiesLaptop = AppleProducts.laptop(model: "MacBook Pro")
    
    


    열거형은 원시 값을 가질 수 있으므로 더 많은 의미를 가질 수 있습니다.

    enum Planet: Int {
        case mercury
        case venus
        case earth
        case mars
    }
    


    enum 유형이 Int 이기 때문에 Swift는 자동으로 0부터 시작하는 값을 제공합니다.

    print(Planet.earth.rawValue) // 2
    


    하나 이상의 사례에 특정 값을 할당하면 Swift가 나머지를 생성합니다.

    enum Planet: Int {
        case mercury = 1
        case venus
        case earth
        case mars
    }
    
    print(Planet.earth.rawValue) // 3
    



    읽어 주셔서 감사합니다! 내일 3일차를 위해 다시 조정하십시오!

    내 코딩 여정에 대한 더 많은 개발 팁, 요령, 조언 및 업데이트를 보려면 내 Instagram을 팔로우하세요!

    좋은 웹페이지 즐겨찾기