본문 바로가기

클로저

(2)
Swift의 클로저 고급 클로저는 아래 규칙을 통해 다양한 모습으로 표현될 수 있음 1. 후행 클로저 : 함수의 매개변수 마지막으로 전달되는 클로저는 후행 클로저(trailing closure)로 함수 밖에 구현할 수 있음 2. 반환타입 생략 : 컴파일러가 클로저의 타입을 유추할 수 있는 경우 매개변수, 반환 타입을 생략할 수 있음 3. 단축 인자 이름 : 전달인자의 이름이 굳이 필요없고, 컴파일러가 타입을 유추할 수 있는 경우 축약된 전달인자 이름($0, $1, $2 ..)을 사용할 수 있음 4. 암시적 반환 표현 : 반환 값이 있는 경우, 암시적으로 클로저의 맨 마지막 줄은 return 키워드를 생략하더라도 반환 값으로 취급 기본 클로저 표현 123456// 클로저를 매개변수로 갖는 함수 calculated(a:b:metho..
Swift의 클로저 1. 클로저 •클로저는 실행가능한 코드 블럭 •함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일 •함수는 이름이 있는 클로저 •일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능 2. 기본 클로저 문법 •클로저는 중괄호 {}로 감싸져있음 •괄호를 이용해 파라미터를 정의 •-> 을 이용해 반환 타입 명시 •"in"키워드를 이용해 실행 코드와 분리 123{ (매개변수 목록) -> 반환타입 in /* 실행 코드 */}cs 3. 클로저 사용 1234567// sum이라는 상수에 클로저를 할당let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + b} let sumResult: Int = sum(1..