 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

 Apple/Swift Programming Language 10

[Swift] 공식문서 씹어먹기: Concurrency

Overview 스위프트에는 비동기 및 병렬 코드를 구조화된 방식으로 코딩할 수 있는 기능이 있다. 한번에 프로그램의 오직 한 부분만 실행할 수 있음에도 비동기 코드는 중단(suspend) 되거나 재개(resume)될 수 있다. 비동기 코드가 중단되거나 재개될 수 있다는 부분은 네트워크 통신과 파일 탐색과 같은 시간이 오래 소요되는 연산을 지속하며 UI 업데이트와 같이 시간이 짧게 소요되는 연산을 지속할 수 있도록 한다. 병렬 코드는 여러 조각의 코드가 동시에 실행됨을 의미한다. 가령 4개 코어 프로세서를 갖고 있는 컴퓨터는 4부분의 코드를 동시에 실행시킬 수 있다. 이 과정에서 각 코어는 하나의 작업을 처리하게 된다. 중단된 연산은 외부 시스템에서 대기하며 이런 방식의 코드를 memory-safe 방식..

[Swift] 공식문서 씹어먹기: Package Manager

Overview Swift Package Manager은 도구인데 Swift 코드의 배포를 관리해줍니다. 다운로드, 컴파일, 의존성 연결 작업을 자동화시키기 위해 스위프트 빌드 체계에 포함되었습니다. 패키지 매니저 기능은 스위프트 3.0 이상 버전에 포함되어있습니다. Conceptual Overview 이 섹션에서는 Swift Package Manager의 기능에 기반이 되는 기본적인 개념에 대해 설명합니다. Modules Swif는 코드를 모듈로 구성합니다. 각 모듈은 namespace를 구성하며 접근 제어를 설정합니다. 접근 제어를 설정하는 과정은 모듈 외부에서 어떤 코드가 사용될 수 있는지에 관한 부분입니다. 프로그램은 하나의 모듈 내부에 코드를 갖고 있거나 의존성(dependencies)을 통해 ..

[Swift] 공식문서 씹어먹기: Automatic Reference Counting

Overview Swift는어플리케이션의 메모리 사용을 추적하고 관리하기 위해 Automatic Reference Counting (ARC) 를 사용한다. 대부분의 경우에서 ARC는 Swift에서 메모리 관리가 "Just Works" 한다는 의미이다. 따라서 개발자는 스스로 메모리 관리에 대해서 신경쓸 필요가 없다. ARC 는 클래스 인스턴스가 사용했던 메모리를 자동으로 해제시켜주며 이 과정은 해당 인스턴스가 불필요해지는 시점에서 이뤄진다. 하지만 일부 경우에서 ARC가 메모리를 관리하기위해 코드 사이의 관계에 대한 더 많은 정보를 더 요구하는 경우가 있다. 이 chapter 에서는 위과 같은 상황을 묘사하며 어떻게 ARC가 어플리케이션의 메모리를 관리하고 있는지 설명해준다. Swift 에서 ARC 를 ..

[Swift] 공식문서 씹어먹기: Property - Computed Property

개요 classes, structures, enumeration 에서는 computed properties 를 선언할 수 있다. computed property 의 값은 고정되어있지 않기 때문에 var 키워드를 통해 선언되어야 한다. 실질적인 값을 저장하지 않는 대신 다른 property에 간접적으로 값을 얻고 설정하기 위해 getter 와 optional setter를 제공한다. struct Point { var x = 0.0, y = 0.0 } struct Size { var width = 0.0, height = 0.0 } struct Rect { var origin = Point() var size = Size() var center: Point { get { let centerX = origin..

[Swift] 공식문서 씹어먹기: Collection Type - Dictionary

Dictionary Dictionary 는 Key-Value 쌍을 가지며 순서가 없는 Collection 이다. Generic Collection 으로 구현되어있으며 저장할 수 있는 Key와 Value가 명확하다. 따라서 같은 타입의 key 그리고 같은 타입의 value 값의 사이의 관계를 순서 없이 저장할 수 있다. Dictionary 에서 각 value 는 유일한 key 값과 연결되어있어서 key 값은 value 를 구분할 수 있는 식별자 역할을 한다. 배열과 다르게 dictionary 내부의 자료에 대한 순서가 없으며 식별자를 통해서만 값을 찾을 수 있다. Dictionary type을 축약형으로 표현할 수 있다. 원본: Dictionary 축약본: [Key: Value] ← 선호되는 방식 init..

반응형