열거형 (3) 썸네일형 리스트형 Swift의 오류처리(Error Handling) 1. 오류 처리 •스위프트에서 오류(Error)는 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현됨 •Error 프로토콜은 사실상 요구사항이 없는 빈 프로토콜일 뿐이지만, 오류를 표현하기 위한 타입(주로 열거형)은 이 프로토콜을 채택 •스위프트의 열거형은 오류의 종류를 나타내기에 아주 적합한 기능 •연관 값을 통해 오류에 관환 부가 정보를 제공할 수도 있음 이번 예제에는 프로그램 내에서 자판기를 작동시키려고 할 때 발생하는 오류상황을 구현 2. 오류 표현 •Error 프로토콜과 (주로)열거형을 통해서 오류를 표현 12345enum VendingMachineError: Error { case invalidInput case insufficientFunds(moneyNeeded: Int) case .. Swift의 값/참조 타입 클래스 vs 구조체/열거형 •클래스는 참조 타입, 열거형과 구조체는 값 타입이라는 것이 가장 큰 차이•클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능 1. 값 타입과 참조 타입 비교 •값 타입(Value Type) : 데이터를 전달할 때 값을 복사하여 전달 •참조 타입(Reference Type) : 데이터를 전달할 때 값의 메모리 위치를 전달 123456789101112131415161718192021222324252627282930313233343536struct ValueType { var property = 1} class ReferenceType { var property = 1} // 첫 번째 구조체 인스턴스let firstStructInstance = ValueType() // .. Swift의 열거형 1. 열거형 Swift 열거형은 다른 언어의 열거형과 많이 다름. 강력한 기능을 지니고 있어 잘 알아두고 사용하면 좋음 •유사한 종류의 여러 값을 한 곳에 모아서 정의한 것. 예) 요일, 월, 계절 •enum 자체가 하나의 데이터 타입으로, 대문자 카멜케이스를 사용하여 이름을 정의 •각 case는 소문자 카멜케이스로 정의 •각 case는 그 자체가 고유의 값 (각 case에 자동으로 정수값이 할당되지 않음) •각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있음 1234567891011121314enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ...} // 예제enum BlackPink { case Jennie case Rose case Lisa c.. 이전 1 다음