[TIL] Swift 문법 옵셔널 체이닝(Optional Chaining)
·
기타/Today I Learned
옵셔널 체이닝(Optional Chaining) 언래핑 없이 옵셔널 값의 멤버에 접근 현재 Nil일 수 있는 옵셔널인 프로퍼티, 메서드, 서브스크립트를 조회하고 호출하기 위한 프로세스 옵셔널에 값이 포함되어 있으며 프로퍼티,메서드,서브스크립트는 호출에 성공 옵셔널이 nil 이면 프로퍼티,메서드,서브스크립트 호출은 nil을 반환 여러 조회는 함꼐 연결될 수 있고 체인에 어느 부분이라도 nil이면 전체 체인은 실패 강제 언래핑 대안으로 옵셔널 체이닝(Optional Chaining as an Alternative to Forced Unwrapping) 프로퍼티,메서드,서브스크립트를 호출하려는 옵셔널 값 뒤에 물음표(?)를 배치하여 옵셔널 체이닝을 지정,값에 강제 언래핑을 하기 위해 옵셔널 값 뒤에 느낌표(!..
[TIL] Swift 문법 클래스와 구조체
·
기타/Today I Learned
클래스와 구조체(Classes and Structures) 클래스와 구조체는 프로그램의 코드를 조직화 하기 위해 일반적으로 사용 OOP를 위한 필요 요소 클래스와 구조체의 비교 (Comparing Classes and Structures) Swift에서 클래스와 구조체는 많은 공통점이 있움. 클래스와 구조체 둘다 다음과 같은 기능이 가능. 공통점 값을 저장하기 위한 프로퍼티 정의 기능을 제공하기 위한 메소드 정의 subscript 문법을 이용해 특정 값을 접근할 수 있는 subscript정의 초기 상태를 설정할 수 있는 initializer 정의 기본 구현에서 기능 확장 특정한 종류의 표준 기능을 제공하기위 한 프로토콜 순응 프로퍼티, 메소드, 서브스크립트, 초기화, 확장 그리고 프로토콜을 참조 구조체로..
[TIL] Swift 문법 클로저(Closures)
·
기타/Today I Learned
클로저 💡 클로저는 코드 블록(중괄호{} 에 둘러싸인 코드)으로, 독립적인 기능을 수행하는 함수와 비슷한 역할 함수와 마찬가지로 입력 매개변수와 반환 값이 있을 수도 있음,다른 함수에 전달 할수 있고 함수 내부에서 선언하여 사용 가능.클로저를 사용하여 함수의 매개변수로 전달가능 클로저의 일반적인 사용 사례 : 비동기적으로 실행되는 코드에서 콜백함수로 사용 클로저는 어떤 상수나 변수의 참조를 캡처해 저장, Swift는 이 캡처와 관련한 모든 메모리를 알아서 처리 클로저 포현(Closure Expressions) 인라인 클로저를 명확하게 표현하는 방법으로 문법에 초점이 맞춰짐. 코드의 명확성과 의도를 잃지 않으면서도 축약해 사용할 수 있음으로 문법의 최적화 방법 제공 정렬 메소드(The Sorted Meth..