일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Python
- 클라우드
- 쿠버네티스
- ios
- 도커 컨테이너
- 네트워크
- C++
- centOS7
- k8s
- Swift
- linux
- 컨테이너
- kubernetes
- 인프라
- os
- 데브옵스
- 도커 이미지
- 도커 명령어
- NGINX
- boj
- centOS
- devops
- 프로세스
- AWS
- 부스트코스
- swift 클로저
- docker
- 운영체제
- 리눅스
- 도커
- Today
- Total
목록swift 클로저 (3)
귀염둥이의 메모
ARC(Automatic Reference Counting) Swift에서는 앱의 메모리 사용을 관리하기 위해 ARC(Automatic Reference Counting)을 사용합니다. 참조 횟수를 자동으로 관리하기 때문에 대부분의 경우에 개발자는 메모리 관리에 신경 쓸 필요가 없고 ARC가 알아서 더 이상 사용하지 않는 인스턴스를 메모리에서 해지합니다. 하지만 몇몇의 경우 ARC에서 메모리 관리를 위해 코드의 특정 부분에 대한 관계에 대한 정보를 필요로 합니다. 참조 횟수는 클래스 타입의 인스턴스에만 적용되고 값 타입인 구조체 열거형 등에는 적용되지 않습니다. ARC의 동작 클래스의 새로운 인스턴스를 만들 때마다 ARC는 인스턴스 정보를 담는데 필요한 적정한 크기의 메모리를 할당합니다. 이 메모리는 그..
클로저의 값 캡쳐(Capturing Values) 클로저는 참조 타입(Reference Type)입니다. 클로저가 매개변수나 지역변수가 아닌 주변 외부의 context를 사용하기 위해 주변 외부의 context를 참조하는 것 원본 값이 사려져도 클로저의 body 안에서 그 값을 활용할 수 있습니다. 예제 코드 func makeIncrementer(forIncrement amount: Int) -> () -> Int { var runningTotal = 0 func incrementer() -> Int { runningTotal += amount return runningTotal } return incrementer } let incrementByTen = makeIncrementer(forIncreme..
클로저(Closure) 실행 가능한 코드 블럭입니다. 함수와 다르게 이름 정의는 필요하지 않으며, 매개변수 전달과 반환 값이 존재할 수 있습니다. 함수는 이름이 있는 클로저입니다. 일급 객체(First-class-citizen)로 전달 인자, 변수, 상수 등에 저장 및 전달이 가능합니다. 참조타입입니다. 표현방식 중괄호 { }로 감싸져있으며, 괄호를 이용해 파라미터를 정의합니다. -> 를 이용하여 반환 타입을 명시합니다. "in" 키워드를 이용해 실행 코드와 분리합니다. { (매개변수 목록) -> 반환타입 in 실행 코드 } 사용예시 // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + b } let resu..