Swift 접근 제어 알아보기 ②
Swift는 클래스뿐만 아니라 구조체, 열거형과 메서드, 프로퍼티에도 접근 제어 수준을 지정할 수 있습니다. 각 타입이 접근 제어 수준을 가질 때 가지는 규칙과 특징을 하나씩 알아보겠습니다. Class 타입 클래서 선언 시작 부분에 접근 제어 수준을 지정해서 해당 클래스의 사용 범위를 제한할 수 있습니다. 클래스는 접근 제어 수준이 정하는 범위 내...
Swift는 클래스뿐만 아니라 구조체, 열거형과 메서드, 프로퍼티에도 접근 제어 수준을 지정할 수 있습니다. 각 타입이 접근 제어 수준을 가질 때 가지는 규칙과 특징을 하나씩 알아보겠습니다. Class 타입 클래서 선언 시작 부분에 접근 제어 수준을 지정해서 해당 클래스의 사용 범위를 제한할 수 있습니다. 클래스는 접근 제어 수준이 정하는 범위 내...
접근 제어란? 접근 제어(Access Control)은 소스 파일과 모듈 차원에서 코드의 접근 범위를 제한할 수 있는 방법입니다. 이를 통해 특정 코드의 세부 구현 사항을 외부로부터 숨길 수 있으며, 사용 가능한 인터페이스만 제공할 수 있습니다. Swift에서는 접근 제어가 소스 파일과 모듈 단위로 이루어집니다. 모듈이란 배포할 코드의 묶음 단위를...
Sharing 연산자 Sharing 연산자는 옵저버블이 방출하는 항목을 다른 옵저버와 공유할 수 있는 연산자입니다. 즉, 유니캐스트로 동작하는 옵저버블을 멀티캐스트로 바꿔줍니다. 불필요한 스트림 낭비를 막고, 메모리 성능을 향상시키기 위해 적재적소에 스트림을 공유하는 게 좋습니다. 대표적인 연산자로 share 연산자가 있습니다. multicast ...
Subject Subject는 항목을 방출만 하는 Obsrvable과는 다르게, Observable과 Observer의 역할을 동시에 수행하는 클래스입니다. 다시 말해, 다른 Observable로부터 항목을 전달받을 수도 있고, 이렇게 전달받은 항목을 다른 Observer에게 방출할 수 있습니다. 이런 이유로 Subject는 프록시(Proxy) 혹은...
본 글은 Displaying and managing views with a view controller (애플 공식 문서)를 한국어로 번역하여 옮긴 글입니다. 스토리보드(Storyboard)로 뷰 컨트롤러를 빌드하고, 뷰 컨트롤러와 함께 커스텀 뷰를 구성하고, 해당 뷰에 앱의 데이터를 채워넣으세요. Overview Model-View-Co...
Error Handling 연산자 RxSwift에서 옵저버블이 Error 항목을 방출할 경우, 옵저버는 더 이상 옵저버블로부터 항목을 전달받지 못합니다. 그래서 이를 처리해줄 수 있는 여러 예외 연산자가 존재합니다. Error Handling 연산자는 옵저버블이 Error 항목을 방출하면 다른 옵저버블의 항목이나 기본 값을 방출하게 하거나, 정해진 ...
TimeBased 연산자 TimeBased 연산자는 옵저버블이 시간의 흐름에 따라 특정 항목을 방출하게 하거나, 지연시킬 수 있는 연산자입니다. 대표적인 연산자로 interval, timeout, delay 연산자가 있습니다. interval 메서드 설명 비고 ...
인디언 남자들의 일곱 가지 철학 첫 번쩨 철학 - 여자에 대해 여자의 삶은 갓난아이, 소녀, 여인, 할머니로 이어진다. 이것이 그들 삶의 네 가지 단계다. 그들은 자연의 법칙으로부터 생명을 탄생시키는 능력을 부여받았다. 그것은 삶의 모든 일들 중에서 가장 신성한 것이다. 따라서 모든 남자는 여자를 존중하고 사랑해야 한다. 정신적으로 또는 육체적으로...
나는 왜 너가 아니고 나인가 오늘 내 앞에 있는 친구와 형제들! 위대한 정령이 우리 모두를 만들었으며, 그분 역시 지금 이곳에서 내가 하는 말을 듣고 계시다. 위대한 정령은 우리 부족에게도 대지의 한 조각을 주었고, 당신들에게도 대지의 한 조각을 주었다. 그런데 당신들이 우리 부족이 가진 대지로 낯선 자처럼 걸어 들어왔고, 우리는 당신들을 형제처럼 ...
Combining 연산자 Transforming 연산자는 옵저버블이 방출하는 항목을 다른 항목으로 바꾸거나 새로운 항목으로 대체할 수 있는 연산자입니다. 이러한 연산자는 전달한 클로저에 따라 옵저버블이 방출하는 항목을 다른 항목으로 바꿀 수 있습니다. 대표적인 연산자로 toArray, flatMap, concatMap, scan, reduce 연산자...