![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bhqtye/btqFCoPlMId/AWMLkkikbIdV86QZVwIiGK/img.png)
Closures 클로저 클로저(Closures)는 코드 상에서 전달되어 사용될 수 있는 독립적인 블록입니다. Swift의 함수들은 전부 클로져이며 이름이 존재하냐, 없냐의 차이가 있을 뿐입니다. 또한 클로져는 할당받기, 인자전달, 반환 등이 모두 가능한 1급객체입니다. Swift의 클로져는 C언어, Objective-C언어 등의 타 프로그래밍 언어 상의 람다와 유사합니다. 클로져는 정의되어 있는 상수나 변수들에 대해 참조 및 저장해서 사용할 수 있습니다. 이를 "클로저가 상수, 변수들을 닫아둔다" 라고도 합니다. Swift에서는 클로저 캡쳐링 간의 메모리 관리를 방법을 제공합니다. NOTE 클로져 캡쳐링(Closure Capturing)과 관련해서 익숙하지 않더라도 걱정할 필요는 없습니다. 더 자세한 내..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/sx6Nz/btqDn2ffyL7/c2evb7KaVGwaHrjBnbIr6K/img.png)
Resolving Strong Reference Cycles for Closures 클로져에 대한 강한참조순환문제 해결하기 당신은 클로져 정의의 일부로서 capture list를 정의함으로 서 클로져와 클래스 인스턴스 사이의 강한참조순환을 해결할 수 있습니다. capture list는 클로져 몸체 내부의 타입이 하나 혹은 두개 이상의 참조를 캡쳐할 때 사용 될 규칙을 정의합니다. 두 개의 클래스 인스턴스간의 강한참조순환과 같이, 당신은 각각의 캡쳐된 잠조들을 strong 참조 대신 weak 이나 unowned 참조를 사용할 수 있습니다. weak참조를 사용할지, unowned 참조를 사용할지에 대한 적절한 판단은 당신의 코드의 각각의 파트 사이 관계에 따라 다를 수 있습니다. 참고 : Swift는 som..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eThtx7/btqDofSWRLP/1XSLKJH39CACeBRpAXpNiK/img.png)
Strong Reference Cycles for Closures 클로져에 대한 강한참조순환 앞선 포스팅에서는 두 개의 클래스 인스턴스 프로퍼티가 서로 강한참조를 갖게 되면 어떻게 강한순환참조가 발생하는지를 다뤄봤습니다. 또한 약한참조(weak reference)를 사용해서 강한순환참조를 깨는 방법과 미소유참조(unowned reference)를 사용해서 강한순환참조를 깨는 방법도 다루었었습니다. 클래스 인스턴스의 프로퍼티에 클로져를 할당할 때, 그리고 해당 클로져가 인스턴스를 캡쳐하는 경우 강한참조순환이 발생할 수 있습니다. 이때의 캡쳐에서 클로져의 몸통이 아래와 같은 인스턴스의 프로퍼티를 접근하기 때문에 발생할 수 있습니다. self.someProperty 혹은 아래처럼 클로져가 인스턴스에 대한 메서..
- Total
- Today
- Yesterday
- 프로그래머스swift
- swift알고리즘
- swift reduce
- 컬렉션
- 프로그래머스
- 백준swift
- 부스트코스
- Swift 알고리즘
- CoreML
- uikit
- swift string
- SwiftUI
- 김프매매
- 프로토콜
- ios
- 개발자문서
- swift 기초
- swift문제
- 백준알고리즘
- swift 문자열
- swift
- publisher
- 스위프트
- Collection
- Protocol
- createML
- 알고리즘문제
- swift언어
- 알고리즘
- 자연어처리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |