클로져(closures)에서 좌절한 사람을 위한 글
함수라고 알고 있던 클로져를 공부하면서 기록합니다. 어느 순간 이해가 안되는 코드들이 클로져로 이루어져있다는 것을 알게된다음 정리와 적용과정이 필요하다는 것을 알고 정리해 놓습니다. 클로저란? 클로저 는 코드에 전달되어 사용할 수있는 독립적인 기능 블록입니다. Swift의 클로저는 C 및 Objective-C의 블록 및 다른 프로그래밍 언어의 람다와 유사합니다. 라는 정의가 공식문서에 적혀있습니다. 하지만 이 개념은 이해가 가지 않았고, 개인적으로는 이름이 없는 함수이고 축약을 위한 다른 규칙들이 있다라고 이해하고 있습니다. 실제 저는 아래의 단계에 따라서 클로져를 공부하고 있더라구요. 비슷하거나 아니면 이에 해당하시는 분들은 미래를 예측 해 보시기 바랍니다. swift 문법을 공부합니다. 그리고 한 단원은 클로져입니다. 그래서 공부했습니다. 나는 클로져를 알고 있는데, 고차 함수인, map, fitler, reduce를 잘 몰라서 공부하다 보니까 클로져까지 왔습니다. 위에까지 다 공부해서 클로져를 알고 있다고 생각했는데 @escaping completeHandler: (() -> ())? 를 만나서 공부하다 보니 클로져까지 다시 오게 되었습니다. 이 전 단계를 다 공부하고 왔는데 아래와 같은 request { (result) in completed(.success( data )) } 코드를 보고 막혔다가 공부하러 왔습니다. 한 2개월에 한 단계씩 올라간 것 같습니다. 물론 순서대로는 아니지만 생각보다 한번의 예제나 하나의 실습으로 익혀지지 않는 것은 확실한 것 같네요. 클로저의 문법 간단한 함수의 생김새와 사용방법 let name = "Leeo" func printName () { print (name) } printName() // Leeo 간단한 클로져의 생김새 let name = "Leeo" let print Name = { print (name) }