iOS/Swift

    [Swift] Closures (2)

    Closures 2편이다. 1편을 보지 않았다면 꼭 보고 오는 걸 추천한다. [Swift] Closures (1) Swift에는 클로저(Closures)라는 개념이 있다. 하나의 코드 블럭이라고 생각하면 이해가 쉽다. { (parameters) -> return type in statements } 클로저는 일반적으로 위와 같은 형태를 가지고 있다. 클로저는 저장 littlemoom.tistory.com 캡처값(Capturing Values) func makeIncrementer(forIncrement amount: Int) -> () -> Int { var runningTotal = 0 func incrementer() -> Int { runningTotal += amount return running..

    [Swift] Closures (1)

    Swift에는 클로저(Closures)라는 개념이 있다. 하나의 코드 블럭이라고 생각하면 이해가 쉽다. { (parameters) -> return type in statements } 클로저는 일반적으로 위와 같은 형태를 가지고 있다. 클로저는 저장도 가능하다 let sumClosures: (Int, Int) -> Int = { x, y in return x + y } let sumResult = sumClosures(4,5) // 9 클로저 표현식은 축약이 n단계로 가능하다. 공식 문서에서는 sorted(by:) Method가 받는 클로저를 예시로 들었다. func backward(_ s1: String, _ s2: String) -> Bool { return s1 > s2 } let names = ..

    [Swift] DispatchQueue

    OperationQueue랑 비슷한데 다르다. DispatchQueue도 비슷하게 동시성을 다루는데, 뭔가 쓰고 읽기 더 편하다 그냥 Dispatch 쓴 코드를 더 많이 봐서 그런거 같은데 중요한 키워드들로 알아보자 DispatchQueue는 생성하는 방법이 다양하다. // 현재 프로세스의 메인 Thread DispatchQueue.main // ====================== // 글로벌 시스템 Queue // qos는 Queue에 대한 우선 순위를 의미한다. DispatchQueue.global(qos: .default) // or // 없으면 기본값은 .default가 된다. DispatchQueue.global() // ====================== // 새로운 Queue Di..

    [Swift] OperationQueue

    [Swift] OperationQueue

    DispatchQueue는 들어봤는데 OperationQueue는 처음 들어봤다. OperationQueue에 대해서 아주 간단히 알아보자. 오늘 볼 두 개의 키위드 Document다. https://developer.apple.com/documentation/foundation/operation https://developer.apple.com/documentation/foundation/operationqueue 동시성(Concurrency) 프로그래밍을 위한 개념이라는 것을 알 수 있다. *병렬성(Parallelism)과는 다른 개념입니다! 동시성과 병렬성에 대한 기가막힌 사진이 있어 가져와봤습니다. 다시 OperationQueue로 돌아와서! OperationQueue는 Operation obje..