일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Refactoring
- 리팩토링
- tableView
- UICollectionView
- Xcode
- rxswift
- uiscrollview
- Human interface guide
- Clean Code
- Protocol
- collectionview
- SWIFT
- combine
- 리펙터링
- swift documentation
- RxCocoa
- clean architecture
- ios
- Observable
- 애니메이션
- uitableview
- 리펙토링
- ribs
- 스위프트
- 클린 코드
- map
- MVVM
- swiftUI
- HIG
- UITextView
- Today
- Total
목록Interface (4)
김종권의 iOS 앱 개발 알아가기
공통 모델이 있을 때 리펙토링 방법 보통 공통 모델에서 특정 프로퍼티만 필요한 경우, 따로 DTO를 만들어서 convert 로직을 만드는데, protocol을 활용하면 간결하게 해결이 가능 ex) 공통 모델 CommonModel이 있고, 각 모델에서 필요한 모델도 각각 있어서 convert해서 쓰는 패턴 공통 모델이 CommonModel처럼 있는 경우 struct CommonModel { let age: Int var name: String let date: String let visited: Bool let imageData: Data var message: String } VC2, VC3에서 필요한 모델이 있어서 struct로 만들고 이걸 CommonModel에서 convert해서 쓰는 방식 stru..
1. WKWebView - UIToolBar 사용하여 뒤로가기, 앞으로가기 구현 (goBack(), goForward()) 2. WKWebView - Header 설정, Cookie 설정, access token 전달, deeplink 수신 방법 3. WKWebView - 양방향 통신, WKUserScript, WKScriptMessageHandler 델리게이트를 구현하여 JavaScript interface 사용 방법 Swift -> JavaScript WKUserScript 사용 webView에서 웹페이지로 script를 주입시킬때 사용하는 script WKUserContentController() 인스턴스에 WKUserScript 값을 추가하고, WKUserContentController인스턴스를 ..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
1. Delegate Pattern : 프로토콜을 쓰는 대표적인 이유 - 각종 이벤트를 효율적으로 관리하기 위해 대리자를 지정하여 이벤트 처리를 위임하고, 이벤트 발생시 위임된 대리자가 콜백 메소드를 호출하는 설계 패턴 * protocol : 명세 - protocol입장에서 구현 하는 객체가 어떤 객체인지 상관없고, "날 구현하여 특정 일을 시행하라"라는 의미 - 클래스는 단일 상속이기때문에 protocol이 나온 것 2. 프로토콜 생성 1) 프로토콜 프로퍼티 : 연산 프로퍼티만 가능하며 get, set유무만 표현 2) 프로토콜 메소드 : 구현부만 빼고 그대로 작성 1 2 3 4 5 6 7 8 9 10 11 // 프로토콜 프로퍼티 protocol myProtocol { var a: String {get ..