안녕하세요 공공돌🧸 입니다. 다양한 클로저 표현에 대해 정리 해봤습니다. 1. 다양한 클로저 표현 클로저는 아래 규칙을 통해 다양한 모습으로 표현될 수 있습니다. 후행 클로저 : 함수의 매개변수 마지막으로 전달되는 클로저는 후행클로저(trailing closure)로 함수 밖에 구현할 수 있습니다. 반환타입 생략 : 컴파일러가 클로저의 타입을 유추할 수 있는 경우 매개변수, 반환 타입을 생략할 수 있습니다. 단축 인자 이름 : 전달인자의 이름이 굳이 필요없고, 컴파일러가 타입을 유추할 수 있는 경우 축약된 전달인자 이름($0, $1, $2...)을 사용 할 수 있습니다. 암시적 반환 표현 : 반환 값이 있는 경우, 암시적으로 클로저의 맨 마지막 줄은 return 키워드를 생략하더라도 반환 값으로 취급합니..
안녕하세요 공공돌🧸 입니다. 클로저 기본에 대해 정리 해봤습니다. 1. 클로저 기본 1. 클로저 클로저는 실행가능한 코드 블럭입니다. 함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일합니다. 함수는 이름이 있는 클로저입니다. 일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능합니다. 2. 기본 클로저 문법 클로저는 중괄호 { }로 감싸져있습니다. 괄호를 이용해 파라미터를 정의합니다. -> 을 이용해 반환 타입을 명시합니다. "in" 키워드를 이용해 실행 코드와 분리합니다. { (매개변수 목록) -> 반환타입 in 실행 코드 } 3. 클로저 사용 // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a:..
안녕하세요 공공돌🧸 입니다. 클래스와 구조체/열거형 비교에 대해 정리 해봤습니다. 1. 클래스 vs 구조체/열거형 클래스는 참조 타입, 열거형과 구조체는 값 타입이라는 것이 가장 큰 차이입니다. 클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능 합니다. 1. 값 타입과 참조 타입 비교 값 타입(Value Type) : 데이터를 전달 할 때 값을 복사하여 전달합니다. 참조 타입(Reference Type) : 데이터를 전할 할 때 값의 메모리 위치를 전달합니다. struct ValueType { var property = 1 } class ReferenceType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType(..
안녕하세요 공공돌🧸 입니다. 열거형에 대해 정리 해봤습니다. 1. 열거형 1. 열거형 Swift 열거형은 다른 언어의 열거형과 많이 다릅니다. 강력한 기능을 지니고 있어 잘 알아두고 사용하면 좋습니다. 유사한 종류의 여러 값을 한 곳에 모아서 정의한 것입니다. 예) 요일, 월, 계절 등 enum 자체가 하나의 데이터 타입으로, 대문자 카멜케이스를 사용하여 이름을 정의합니다. 각 case는 소문자 카멜케이스로 정의합니다. 각 case는 그 자체가 고유의 값입니다.(각 case에 자동으로 정수값이 할당되지 않음) 각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있습니다. enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ... } // 예제 enum Na..
안녕하세요 공공돌🧸 입니다. 클래스에 대해 정리 해봤습니다. 1. 클래스 1. 클래스란? 클래스는 참조(reference) 타입입니다. 타입이름은 대문자 카멜케이스를 사용하여 정의합니다. Swift의 클래스는 다중 상속이 되지 않습니다. 2. 클래스 문법 정의 : "class" 키워드 사용 class 이름 { /* 구현부 */ } 프로퍼티 및 메서드 구현 class Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 타입 프로퍼티 static var typeProperty: Int = 100 // 인스턴스 메서드 func instanceMethod() { print("instance..
안녕하세요 공공돌🧸 입니다 Xcode를 사용하면서 개발의 질을 향상시켜 줄 단축키들을 정리해봤습니다. Ctrl(^) 사용 Ctrl + I : 코드 자동 정렬 시키기 Command 사용 Command + R(Run) : 프로젝트 런 + 시뮬레이터 상에서는 화면 녹화 Command + N(New) : 프로젝트 파일 추가 Command + K(Keyboard) : 시뮬레이터 상에서 키보드 띄우기 Command + F(Find) : 현재 창에서 키워드 검색 Command + E : 현재 선택된 블럭을 검색 Command + G : 다음 검색된 항목으로 이동 -> Command + E랑 같이 활용 Command + Z : 뒤로 돌리기 Command + W : 현재 창 닫기 command + “/” : 주석 처리하..