본문 바로가기

Swift랑 친해지기/Swift문법정리62

[Swift] try-catch (에러처리) 에러처리는 프로그램의 오류 조건에 응답하고 이를 복구하는 과정을 뜻함 스위프트에서는 발생(throwing), 감지(catching), 전파(propagating), 조작 (manipulating)을 지원함 Swift의 열거형은 관련 오류 조건 그룹을 모델링하는 데 적합해, 관련 값을 사용하여 오류 특성에 대한 추가 정보를 전달할 수 있음 열거형을 이용해 에러처리에 대해 알아봄 throw 명령문을 이용하여 오류를 발생시킬 수 있음 playground execution terminated: An error was thrown and was not caught 플레이그라운드 실행 종료:오류가 발생했지만 발견되지 않았다고 뜸 checkPhoneBatteryStatus라는 함수로 에러를 처리해보자 throws는 .. 2022. 9. 27.
[Swift] 열거형 (Enum) 열거형 enum - enumeration 연관성 있는 값을 모아 놓은 자료형 사용이유 공통된 주제에 대해서 정해 놓은 입력 값만 받고 싶을때 사용 stck영역에 저장되어 성능적으로 좋음 종류 원시값이 없는 열거형 Band라는 주제에 대한 관련성 있는 값들을 열거형으로 만들어봄 Band 열거형에 case를 나열해주면 원시값이 없는 열거형이 생성됨 또는 , 쉼표를 붙여 한번에 표현도 가능함 이렇게 열거형을 선언하면 자료형으로 선택할 수 있고 접근할 수 있게 됨 원시 값이 있는 열거형 원시값을 가지고 싶으면 Type이 꼭 명시되어 있어야함 다른 언어는 NumberType만 가능한데 갓 Swift 는 NumberType, Character, String 사용가능 다음과 같이 NumberType을 가지는 열거형을.. 2022. 9. 22.
[Swift] extension (익스텐션) 기존의 클래스 ,구조체, 열거형, 프로토콜 등 타입에 새로운 기능(프로퍼티, 메서드,이니셜라이져 등)을 추가 원본타입에 접근하지 못하는 타입도 확장해서 사용 가능 예제 1 ) 구조체 Int 에서는 짝수와 홀수라는 기능을 제공하지 않음 원본 코드를 그대로 두고 내가 원하는 기능만 확장을 해봄 isEven과 isOdd 메서드를 사용할 수 있게 됨 예제2) extension 확장자를 이용하여 ConvertToInt라는 메서드 추가해 문자열 "숫자"를 Int형 숫자로 변경할 수 있도록 선언 우리가 보통 TableView, CollectionView 등에 delegate와 DataSource를 Extension해주는 것은 ViewController를 확장해주는 행위임 class ViewController: UIV.. 2022. 9. 21.
[Swift] 프로토콜 (Protocol) 프로토콜은 특정 작업이나 기능에 적합한 메서드, 속성 및 기타 요구 사항의 청사진을 정의함 ⬇️ 해당 요구 사항의 실제 구현을 제공하기 위해 클래스, 구조체, 열겨형에 의해 채택 될 수 있음 프로토콜의 요구사항을 충족하면? 해당 프로토콜을 준수한다고 정의함 프로토콜 정의 방법 protocol SomeProtocol { 프로토콜 정의를 적으셈 } protocol SomeProtocol2 { 프로토콜 정의를 적으셈 } 구조체에서 프로토콜 채택방법 콜론(:)을 이용하여 이름 뒤에 프로토콜 이름을 배치하여 채택할 수 있음 쉼표(,)을 이용하여 여러개 나열 가능 struct SomeStructure: SomeProtocol, SomeProtocol2{ } 클래스에서 프로토콜 채택방법 슈퍼클래스를 상속하고 있는 경.. 2022. 9. 21.