전체 글94 스위프트에서의 '타입' 존 호프만의 Protocol-Oriented Programming with Swift(스위프트 프로토콜지향 프로그래밍) 2장 메모글 (요약 아님) 스위프트에서의 타입의 분류 1) 이름 있는 타입 - 타입을 정의할 때 이름을 부여한 타입 - 클래스, 구조체, ENUM, 프로토콜 등 - Primitive type 대부분(Number Bool 문자열 등) - 따라서 이런 원시타입에도 확장을 사용할 수 있다는 장점 2) 복합 타입(compound type) - 이름을 부여하지 않은 타입 - 함수 타입(클로저, 함수, 메서드 등)과 튜플 등 - typealias 로 별명을 붙일 수 있음 스위프트에서의 타입의 범주 - 참조타입: 인스턴스 전달 시 원본의 참조를 전달. 클래스 등 - 값 타입: 인스턴스 전달 시 원본.. 2019. 12. 26. Opaque Types Swift 5.1 에서 추가된 Opaque Types 의 Apple Docs 번역글입니다. 제 블로그에서 Swift 번역글이 스테디하게 인기가 좋길래 새로운 피처가 추가된 기념으로 한번 해보았습니다 :) 제 번역 포스트는 원문 그대로의 직역이 아닌 이해를 돕기 위한 의역, 부연설명이 되어 있으니 참고해주세요. 이번 문서는 최대한 이해에 도움이 되게끔 문장을 몇 번이나 고쳐썼습니다. 오역 발견 시 꼭 제보해주시면 감사하겠습니다. * 이 문서는 Swift 에서의 Protocol, Generic 에 대한 이해가 선행되어야 이해하실 수 있습니다. Opaque Types Opaque 리턴 타입(Opaque return type)을 가지는 함수/메소드는 자신의 리턴 타입에 대한 정보를 드러내지 않습니다. 함수의 리.. 2019. 12. 22. DispatchQueue.main.async 와 DispatchQueue.main.sync 의 차이점 (Stack Overflow) 원문 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 .. 2019. 12. 4. SOLID 원칙을 Swift 코드로 이해해보기 Robert C. Martin의 Clean Architecture 3부 '설계 원칙' 7-11장을 읽고 메모한 글입니다. 요약글은 아닙니다. 개인적인 의견도 포함되어 있으니 참고해주세요. 모든 예제코드는 Swift로 작성되었습니다. SOLID 원칙 개요 함수와 데이터 구조를 클래스로 배치하고 이 클래스들을 서로 결합하는 방법에 대한 원칙 SRP, OCP, LSP, ISP, DIP 목표 변경에 유연하게 가독성 재사용성 등등 7장. SRP (단일 책임 원칙) - Single Responsibility Principle - A class should have one, and only one, reason to change. - 하나의 모듈은 하나의 책임만 가진다 (*하나의 모듈은 하나의 일만 한다, 가 아님... 2019. 12. 3. 클린 아키텍처 3-6장 Robert C. Martin의 Clean Architecture 2부 '벽돌부터 생각하기: 프로그래밍 패러다임' 3-6장을 읽고 메모한 글입니다. 요약글은 아닙니다. 개인적인 의견도 포함되어 있으니 참고해주세요. 3장. 패러다임 개요 프로그래밍 패러다임이란 무엇인가? 사전에서의 패러다임 - 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는, 사물에 대한 이론적인 틀이나 체계. 순화어는 '틀'. 프로그래밍 패러다임은 '프로그래밍에 대한 이론적인 틀이나 체계'. 프로그래밍을 하는 방법이라고 할 수 있다. 언제, 어디에 이 구조를 사용할지 결정하며, 따라서 대체로 언어에 독립적이다. 여기서는 다음 세 가지 프로그래밍 패러다임을 다룬다. 구조적 프로그래밍 (Structured Pr.. 2019. 11. 16. OOP의 추상화(Abstraction)와 다형성(Polymorphism)의 관계 최근에 OOP에 대해 공부를 하다 혼란에 빠졌었는데, 나름 결론이 나서 기록. '나름' 결론이기 때문에 주의해주세요. 의견은 자유롭게 코멘트로 달아주세요. 혼란을 불러일으킨 요소 - 존 호프만의 스위프트와 프로토콜지향 프로그래밍 - Robert C. Martin의 클린 아키텍처 - bearkode님의 OOP 고민 영상 (https://youtu.be/dhK0ZQes4Do , 'OOP에 대해서 고민해보기') 혼란스러웠던 (고민에 빠졌던) 주제 - OOP에서의 Abstraction과 Polymorphism의 관계 혼란의 배경 1 https://wlaxhrl.tistory.com/category/POP with Swift 위 포스트에도 정리했듯, 최근 '스위프트와 프로토콜지향 프로그래밍' 책을 읽고 OOP와 .. 2019. 11. 15. 이전 1 2 3 4 5 6 7 ··· 16 다음