전체 글(13)
-
clean architecture
엔티티(Entities) 핵심 업무 규칙을 캡슐화 메서드를 가지는 객체, 일련의 데이터 구조와 함수의 집합 가장 변하지 않으며 외부로부터 영향을 받지 않는 영역 유즈 케이스(Use Cases) 애플리케이션의 특화된 업무 규칙을 포함 시스템의 모든 유즈 케이스를 캡슐화하고 구현 엔티티로 들어오고 나가는 데이터 흐름을 조정하고 조작 인터페이스 어댑터(Interface Adapter) 일련의 어댑터들로 구성 외부 인터페이스에서 들어오는 데이터를 유즈 케이스와 엔티티에서 처리하기 편한 방식으로 변환하며, 유즈 케이스와 엔티티에서 나가는 데이터를 외부 인터페이스에서 처리하기 편한 방식으로 변환 컨트롤러, 프레젠터, 게이트웨이 등이 여기에 속함 프레임워크와 드라이버(Frameworks & Drivers) 시스템의 ..
2023.02.04 -
ㅜㄷㅌㅅ
https://ios-development.tistory.com/829
2023.01.22 -
https://velog.io/@eddy_song/stack-view
https://velog.io/@eddy_song/stack-view
2023.01.07 -
Then
⚠️ 티스토리 관리자의 플러그인에서 Syntax Highlight를 적용하기 전 문서입니다. Then은 Kotlin의 범위지정함수(= apply, with, let, also, run) 역할을 하며, 특히 initializer를 더 예쁘게 사용 할 수 있도록 도와줍니다. then, with, do가 있으며 예시는 아래와 같습니다. //then //NSObject subclasse라면 아래와 같이 사용 가능합니다. let queue = OperationQueue().then { $0.maxConcurrentOperationCount = 1 } //CustomClass라면, 아래와 같이 extension하여 사용합니다. extension MyType: Then {} let instance = MyType()..
2023.01.06 -
required init?(coder: NSCoder), init 마지막
[https://jeonyeohun.tistory.com/359]를 재해석한 포스팅입니다. 1. 여기서 NSCoder란 뭘까요? Objective-C 및 Swift의 객체 및 기타 값을 인코딩 및 디코딩하는 Foundation 프레임워크의 클래스 데이터를 영구 형식으로 저장하고 나중에 다시 만드는 데 사용 데이터를 파일에 저장하거나 네트워크 연결을 통해 데이터를 전송하는 데 사용(encoding ↔️ decoding) 개체 및 개체가 참조하는 모든 개체에 대한 데이터를 포함하는 파일을 만드는 프로세스인 개체 보관 프로세스에서도 사용 2. 즉 요약하자면 ✅ NSCoder는 인터페이스이며, 이를 구현하는 서브클래스는 어떤 객체를 메모리와 다른 데이터 포맷 사이에서 전환이 가능! 아카이빙과 디스트리뷰션을 통해..
2023.01.03 -
UIView.init()를 알아보자.
3. 사실, 여기서 init()은 NSObject의 init 이다. 아래와 같이, 상속관계를 가진다. 5. 그러나, init(frame:) 와 init(coder:) 두 개가 UIView의 Designated initializer ( = 필수 initializer) 이므로, UIView 를 생성하려면 이 둘 중 하나를 반드시 호출해야한다. ➡️ UIView() 로 뷰를 생성하면, 내부적으로 init(frame:CGRect) 을 호출해야만 하겠죠. 6. init(frame:)을 직접 호출하는 것과, init()을 호출하는 데에 콜스택엔 아래와 같은 차이가 있다. 즉, AppKit / UIKit 쪽 코드인 [UIView init] 에서 NSObject의 init 을 override 한 후 init(frame..
2023.01.02