값이 있을 수도, 없을 수도 있음을 표현nil이 할당 될 수 있는지 없는지 표현명시적 표현 \- nil의 가능성을 코드만으로 표현가능 \- 문서/주석 작성 시간 절약안전한 사용 \- 전달받은 값이 옵셔널이 아니라면 nil 체크를 하지 않고 사용가능 \- 예외 상
스위프트 대부분 타입은 구조체로 이루어져 있습니다.구조체는 값(value) 타입입니다.타입이름은 대무자 카멜케이스를 사용하여 정의합니다.
부스트코스-iOS 프로그래밍을 위한 스위프트 기초 ✅ 프로토콜이란? 프로토콜은 특정 역할을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의합니다. 구조체, 클래스, 열거형은 프로토콜을 채택해서 특정 기능을 수행하기 위한 프로토콜의 요구사항을 실제로
클로저는 실행가능한 코드 블럭입니다.함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일합니다.함수는 이름이 있는 클로저입니다.일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능합니다.클로저는 주로 함수의 전달인
프로퍼티는 구조체, 클래스, 열거형 내부에 구현할 수 있습니다.다만 열거형 내부에는 연산 프로퍼티만 구현할 수 있습니다.연산 프로퍼티는 var로만 선언할 수 있습니다.연산프로퍼티의 읽기전용으로는 구현할 수 있지만, 쓰기 전용으로는 구현할 수 없습니다.읽기전용으로 구현하
부스트코스-iOS 프로그래밍을 위한 스위프트 기초 ✅⠀디이니셜라이저(deinitializer)란? deinit은 클래스의 인스턴스가 메모리에서 해제되는 시점에 호출됩니다. 인스턴스가 해제되는 시점에 해야할 일을 구현할 수 있습니다. deinit은 매개변수를 지닐 수 없
Error 프로토콜과 (주로) 열거형을 통해서 오류를 표현한다.오류 발생의 여지가 있는 메서드는 throws를 사용하여 오류를 내포하는 함수임을 표시합니다.오류가 던져지는 것에 대비하여 던져진 오류를 처리하기 위한 코드를 작성해얗 ㅏㅂ니다.별도의 오류처리 결과를 통보받
부스트코스-iOS 프로그래밍을 위한 스위프트 기초 1. 스위프트 타입 캐스팅 인스턴스의 타입을 확인 하는 용도 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인 하는 용도 2. 타입 확인