반응형 enum4 indirect 키워드 Swift 언어에서 indirect 키워드란? indirect 키워드는 특정한 경우에 매우 유용하게 사용됩니다. 이번 글에서는 indirect 키워드가 무엇인지, 왜 사용하는지, 그리고 예시 코드를 통해 이해를 돕고자 합니다. indirect 키워드란? indirect 키워드는 Swift에서 열거형(enum)이나 구조체(struct) 내부에서 자기 참조(self-referential)를 할 수 있도록 도와주는 키워드입니다. Swift의 열거형은 기본적으로 값 타입(value type)입니다. 따라서 값 타입의 인스턴스가 자기 자신을 참조하는 경우 무한 재귀에 빠질 위험이 있습니다. 이를 해결하기 위해 indirect 키워드를 사용하여 간접 참조(indirect reference)를 허용합니다. 왜 사용하.. 2024. 7. 28. Swift5.0 향후 변경 될 수 있는 Enum(열거형) switch @unknown 속성 처리 SE-0192 안녕하세요~! 오늘은 Enum에 대해서 이야기 해보려고 하는데요. 이번 Swift5.0에서 추가된 @unknown 속성에 대해서 이야기 해보려고 합니다. 어떤 역할을 하는지 같이 보시죠~! 보통 Enum값 분기처리시 Switch문을 많이 사용하는데요. enum에 있는 모든 case들을 무조건 처리 해야합니다. @unknown 속성을 사용해서 미묘하게 다른 두 가지 방법을 구분할 수 있는데요 아래 예시를 보겠습니다. 패스워드 입력시 발생 할 수 있는 에러를 간략하게 enum으로 표현했습니다 enum PasswordError: Error { case short case obvious case simple } 에러 처리를 하는 모습을 볼 수 있습니다. func showPasswordError(_ error: .. 2023. 1. 3. Swift 5.0 Result Type 소개 (에러 처리를 쉽고 깔끔하게 결과는 명확하게 SE-0235) 안녕하세요~! 오늘은 새롭게 소개된 Result Type을 소개해 드리려고합니다. Result Type은 아래 코드 처럼 enum으로 선언 되어있고 성공과, 실패를 Generic으로 받고 있습니다. 실패는 무조건 에러 타입이구요 @frozen enum Result where Failure : Error 기존의 에러처리 방식을 개선하고 결과값을 명확히 받기 위해 Result Type이 나왔다고 보여지는데요. 왜 그런지 아래 예제를 통해 함께 보시죠~! 아래 주문을 받는 받았을 때 발생 할 수 있는 간단한 에러를 정의 했습니다. enum OrderError: Error { case LackOfMoney } 메뉴는 햄버거가 좋을거 같아요. 햄버거 종류와 종류에 따른 가격을 받을 수 있습니다. enum Hamb.. 2022. 12. 27. Swift Enum의 활용 (구조체 또는 클래스 대신 열거형으로 정리해봐요) Enum은 특정한 이름을 정의하고 값 대신에 사용하는 기능으로 아래와 같이 사용하는 경우가 많습니다. Enum Coffee { case Macchiato case Espresso } Enum에 대해 공부하고 있는데요. 그 중에 실전에서 활용하면 좋은 몇가지를 나누어서 소개해 드리려고 합니다. 구조체 또는 클래스 대신 열거형으로 예를 들어 채팅 앱을 만드는 상황이라고 가정하고 채팅 메시지에 대한 구조체를 아래와 같이 정의 해보았습니다. struct Message { let userId: String let contents: String? let date: Date let hasJoined: Bool let hasLeft: Bool let isBeingDrafted: Bool let isSendingBall.. 2020. 4. 1. 이전 1 다음 반응형