존 호프만의 Protocol-Oriented Programming with Swift(스위프트 프로토콜지향 프로그래밍) 2장 메모글 (요약 아님) 스위프트에서의 타입의 분류 1) 이름 있는 타입 - 타입을 정의할 때 이름을 부여한 타입 - 클래스, 구조체, ENUM, 프로토콜 등 - Primitive type 대부분(Number Bool 문자열 등) - 따라서 이런 원시타입에도 확장을 사용할 수 있다는 장점 2) 복합 타입(compound type) - 이름을 부여하지 않은 타입 - 함수 타입(클로저, 함수, 메서드 등)과 튜플 등 - typealias 로 별명을 붙일 수 있음 스위프트에서의 타입의 범주 - 참조타입: 인스턴스 전달 시 원본의 참조를 전달. 클래스 등 - 값 타입: 인스턴스 전달 시 원본..
Swift 5.1 에서 추가된 Opaque Types 의 Apple Docs 번역글입니다. 제 블로그에서 Swift 번역글이 스테디하게 인기가 좋길래 새로운 피처가 추가된 기념으로 한번 해보았습니다 :) 제 번역 포스트는 원문 그대로의 직역이 아닌 이해를 돕기 위한 의역, 부연설명이 되어 있으니 참고해주세요. 이번 문서는 최대한 이해에 도움이 되게끔 문장을 몇 번이나 고쳐썼습니다. 오역 발견 시 꼭 제보해주시면 감사하겠습니다. * 이 문서는 Swift 에서의 Protocol, Generic 에 대한 이해가 선행되어야 이해하실 수 있습니다. Opaque Types Opaque 리턴 타입(Opaque return type)을 가지는 함수/메소드는 자신의 리턴 타입에 대한 정보를 드러내지 않습니다. 함수의 리..
원문 Difference between DispatchQueue.main.async and DispatchQueue.main.sync 뜻을 이해하기 쉽도록 의역/추가설명을 붙인 부분들이 있습니다. Question 저는 그동안 UI 관련 동작을 수행하기 위해 DispatchQueue.main.async 를 계속 사용해왔습니다. Swift는 DispatchQueue.main.async 와 DispatchQueue.main.sync 를 제공해주며 둘 다 main queue 에서 수행됩니다. 두 개의 차이가 무엇인지, 언제 무엇을 사용해야 하는지 알려주실 분이 계신가요? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text ..