swift 4

swift
[swift] 동시성 프로그래밍

GCD(Grand Central Dispatch)란?애플에서 멀티 쓰레드를 지원하기 위해 개발한 것으로 그 종류에는 DispatchQueue와 OperationQueue가 있다.(보통 DispatchQueue를 GCD라고 칭한다)DispatchQueue의 종류1. global2. main3. customSerial vs ConcurrentSerial(직렬): 큐에 들어온 작업을 하나의 쓰레드에서만 처리하도록 함.Concurrent(동시): 큐에 들어온 작업을 여러 쓰레드에 분산하여 처리하도록 함. → serial은 혼자! concurrent는 여러명!Serial(직렬)은 DispatchQueue.mainConcurrent(동시)는 DispatchQueue.global()으로 실행. ※ 직렬에서 Dispa..

swift
[swift] Generic이란?

안녕하세요, 오늘은 스위프트의 제네릭에 대해 알아보겠습니다! :) 제네릭은 간략하게 말하면 다양한 타입을 처리할 수 있도록 하는 기능 자체!를 의미하고,타입 파라미터를 통해, 제네릭을 구현할 수 있습니다. 그러면 그냥 Any 쓰면 안되나?→ Any와는 명백히 다른 점이 있는데,, 밑에서 설명하겠습니다! #0 제네릭이 왜 필요한가요?예를 들어,두 개의 숫자를 파라미터로 받아 두개의 값을 더해서 반환하는 함수가 있다고 가정해봅시다.그러면 이렇게 작성할 수 있겠죠?!func plusInt(_ a: Int, _ b: Int) -> Int { return a + b} 근데, 정수형 타입 말고 Double형도 이런 메서드가 있으면 좋겠어요!그럼 또 이렇게 작성할 수 있습니다.func plusDouble(_ a: D..

swift
[swift] 지연 저장 속성은 왜 var로만 사용 가능할까요? (feat. 타입 저장 속성 let/var)

타입 저장 속성은 let, var가 가능한데,, 왜 지연 저장 속성은 var만 가능한가요?공부를 하다 보니지연 저장속성은 let이 아닌 var로만 선언이 가능한데타입 저장 속성은 lazy하게 동작된다고 했으면서 왜 let, var 둘다 선언이 가능한지 궁금해졌습니다.. 예시를 통해 보겠습니다. Animation이라는 클래스 안에genere라는 타입 저장 속성과series라는 지연 저장 속성을 사용해 봤습니다. 1단계: ani라는 인스턴스 생성 → 확인2단계: 지연 저장 속성 접근 → 확인3단계: 타입 저장 속성 접근 → 확인 위 단계를 거치면서 어떻게 변화하는지 보겠습니다!class Animation { static let genere = "animation" // 타입 저장 속성 let na..

swift
[swift] 프로퍼티와 메서드

안녕하세요 :)오늘은 프로퍼티와 메서드의 종류에 대해 알아보겠습니다. 1. 프로퍼티와 메서드란?먼저, 프로퍼티와 메서드가 무엇일까요?! 클래스 혹은 구조체 안에 들어있는변수 혹은 상수를 프로퍼티라 하고함수는 메서드라고 합니다. 변수/상수 → 프로퍼티함수 → 메서드 class Animation { let name: String var rate: Double init(name: String, rate: Double) { self.name = name self.rate = rate } func introduce() { print("\(name)은 \(rate)점입니다.") }}struct Animation { let na..