목록분류 전체보기 (179)
study record
async: 메서드가 비동기로 작동할 것임을 보여준다. 이 메서드가 결과를 리턴할 때까지 실행을 멈춘다. await: 코드가 실행을 멈출 수 있음을 보여준다. async 메서드가 리턴할 때까지 기다린다. Task: 비동기 작업의 단위. 작업이 끝나거나 취소되는 것을 기다릴 수 있다. 🧪 completion handler → async 메서드로 변경해보기 // escaping closure func fetchStatus(completion: @escaping (String) -> Void) { URLSession.shared.dataTask( with: URL(string: "")! ) { data, response, error in guard let data = data else { return } co..
큐에 작업들을 넣기 전에, 어떤 큐를 사용할 것이고 사용하기 위한 목적을 결정해야 한다. Dispatch queues는 직렬적으로 또는 병렬적으로 작업을 실행할 수 있다. 게다가, 만약 큐에 특별한 목적을 가진다면 큐의 속성들을 설정할 수 있다. 아래의 글을 통해 어떻게 dispatch queue를 만들고 사용을 위한 설정을 할 수 있는지를 보여준다. Getting the Global Concurrent Dispatch Queues concurrent dispatch queue는 병렬적으로 실행할 다양한 작업들을 가지고 있을 때 유용하다. concurrent queue는 여전히 선입선출로 작동하는 큐이다. 다만, concurrent queue는 이전 작업이 끝나기 전에 추가적 작업이 빠져나올 수 있다. ..
본 글은 해당 링크(공식 사이트) 글을 해석하여 정리한 글입니다. Grand Central Dispatch (GCD) dispatch queues는 테스크들을 수행하는 데에 강력한 툴이다. Dispatch queues는 호출자를 존중하며 비동기적으로나 동기적으로 코드의 블록들을 실행하게 한다. dispatch queues를 분리된 스레드에 수행하게끔 사용할 수 있다. dispatch queues의 장점은 사용하기에 단순하고 효율적이라는 것이다. 이 챕터에서는 dispatch queues에 소개와 어플리케이션에서 일반적인 테스크를 실행하고자 할 때 어떻게 사용하는지를 담고 있다. 만약 존재하는 스레드 코드를 dispatch queues로 바꾸고 싶다면, 추가적인 팁을 Migrating Away from T..
고차함수란? 다른 함수를 인자로 전달받거나 실행 결과를 함수로 반환하는 함수. map func map(_ transform: (Self.Element) throws -> T) rethrows -> [T] 시퀀스의 값들을 주어진 클로저에서 맵핑하여 그 결과를 포함하는 배열을 리턴한다. Return 값 : 시퀀스의 변형된 값들의 배열. Parameter : 맵핑 클로저. let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"] let letterCounts = cast.map { $0.co..