iOS (34) 썸네일형 리스트형 Swift 공식문서 7. Closures https://docs.swift.org/swift-book/documentation/the-swift-programming-language/closuresDocumentationdocs.swift.org Swift 공식 문서 보면서 내 맘대로 정리Overview클로저는 기능이 자체적으로 포함된 코드 블록이며, 코드에서 전달되어 사용될 수 있다.다른 프로그래밍 언어의 클로저, 익명 함수, 람다, 블록과 유사클로저는 정의된 컨텍스트에서 상수나 변수에 대해 참조를 캡처하고 저장할 수 있다.Swift는 캡처와 관련된 모든 메모리를 자동으로 관리 클로저가 가질 수 있는 모양 전역 함수(Global Function) : 이름을 갖고, 값을 캡처하지 않는 클로저 중첩 함수(Nested Fuction) : 이름을 갖.. Swift 공식문서 6. Functions https://docs.swift.org/swift-book/documentation/the-swift-programming-language/functions Documentation docs.swift.orgSwift 공식 문서 보면서 내 맘대로 정리 [다룰 내용들에 대한 요약]함수는 특정 작업을 수행하는 독립적인 코드 블록작업을 수행할 때, 함수의 이름을 사용하여 해당 함수를 "호출"한다.Swift의 함수 구문은 C 스타일 함수부터 각 파라미터에 이름과 레이블을 사용하는 Obj-C 스타일의 메서드까지 표현할 수 있을 정도로 유연하다.파라미터는 기본 값을 가질 수 있어 함수 호출이 더 간단해지며, in-out 파라미터를 통해 함수가 실행된 후에 전달된 변수를 수정할 수 있다.Swift의 모든 함수는 타.. Swift - In-Out 파라미터 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations#In-Out-ParametersDocumentationdocs.swift.org inout 파라미터 기본 동작Swift에서는 기본적으로 함수 인자는 value로 전달한다. 함수 내에서 이뤄진 변경 사항은 호출부에서 확인할 수 없고, 변경을 원한다면 inout 파라미터를 적용해야 한다. inout 파라미터를 포함하는 함수를 호출할 때, inout 인자는 &를 사용하여 전달한다. 이를 통해 함수 내부에서 변경된 값이 함수 외부에도 반영이 된다.func someFunction(a: inout Int) { a += 1 } var x = 7 someF.. Swift 공식문서 5. Control Flow https://docs.swift.org/swift-book/documentation/the-swift-programming-language/controlflow Documentation docs.swift.org Swift 공식 문서 보면서 내 맘대로 정리 Swift는 다양한 제어흐름 문장을 제공한다.반복을 위한 while조건 분기를 위한 if, guard, switch코드 흐름을 다른 지점으로 전환하는 break, continue배열, 딕셔너리, Range, 문자열 등 시퀀스 반복을 돕는 for-in현재 스코프를 벗어날 때 실행하는 deferFor-In LoopsSequence를 반복하여 처리하고 싶을 때 for-in 루프를 사용items in an arrayranges of numberscharac.. Swift - Strideable Protocol https://developer.apple.com/documentation/swift/strideable Strideable | Apple Developer DocumentationA type representing continuous, one-dimensional values that can be offset and measured.developer.apple.com Definition Strideable은 연속적인 1차원 값을 나타내며, offset(차이)을 계산하고 측정(거리 계산)할 수 있는 타입을 정의한다. 즉, 어떤 값이 Strideable 프로토콜을 채택하면, 그 값 사이의 거리를 측정하거나, 일정 간격으로 값을 증분시킬 수 있다는 의미이다. protocol Strideable : Com.. Concurrency (7) Concurrent Code With TaskGroup 이전글 - Concurrency(6) Testing Asynchronous Code Modern Concurrency in Swift를 읽고 간단 정리 현재 챕터까지 진행하면서 아래 내용을 학습하였다.async/await를 사용한 코드 설계Asynchronous Sequence 생성async let 바인딩을 통한 Task 병렬 실행 특히 asnyc let 바인딩은 일부 태스크를 병렬로 실행하면서 (Task3, Task4) 다른 태스크는 서로 의존하며 순차적으로 실행해야 할 때(Task1, Task2, Task5) 비동기 흐름을 설계하는 강력한 메커니즘을 지원한다. async let 구문은 여러 비동기 태스크를 병렬로 실행하는데 유용하지만, 이는 고정된 개수의 태스크를 다룰 때 적합하다.병렬로 실행해야.. Swift 공식문서 4. Collection Types https://docs.swift.org/swift-book/documentation/the-swift-programming-language/collectiontypes Documentation docs.swift.org Swift 공식 문서 보면서 내 맘대로 정리Swift에서 제공하는 Collection TypeArraySetDictionary모든 Collection 들은 변경 가능하다.var로 선언하면 값을 추가, 삭제, 변경 가능하다. (mutable)let으로 선언하면 추가, 제거, 변경 불가능 하다. (immutable)ArrayArray는 같은 타입의 값들을 순서대로 저장중복된 값이 여러 장소에 존재할 수 있다.빈 Array 생성var someInts = [Int]()Array의 모든 값을 동.. Concurrency (6) Testing Asynchronous Code 이전글 - Concurrency(5) Intermediate async/await & Checked Continuation Modern Concurrency in Swift 를 읽고 간단 정리 Apple에서 XCTest로 비동기 코드를 테스트하는 것은 역사적으로 복잡했었다.XCTWaiter, expectations 같은 방법을 사용해야 했고, 코드가 완료될 때 까지 기다렸다가 그 출력 값을 검증해야 한다. Swift의 동시성 모델에서는 더 간단하다.비동기 테스트를 위한 메서드에 async를 선언await 키워드를 만나면 실행을 중단하고, 완료된 후 재개비동기 코드를 동기 코드처럼 자연스럽게 작성할 수 있음보다 복잡한 비동기 동작, 시퀀스 및 스트림과 관련된 경우에는 직접 테스트 인프라를 구축 필요.. 이전 1 2 3 4 5 다음