일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift documentation
- ios
- tableView
- 클린 코드
- RxCocoa
- Clean Code
- SWIFT
- Protocol
- 리펙터링
- uitableview
- Xcode
- Refactoring
- combine
- UITextView
- UICollectionView
- Human interface guide
- uiscrollview
- clean architecture
- 리펙토링
- ribs
- swiftUI
- rxswift
- 리팩토링
- MVVM
- collectionview
- map
- 애니메이션
- HIG
- Observable
- 스위프트
- 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yRVKl/btrkcryXw83/CRRkMRYIT9pSmXk5KXosVK/img.png)
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인스턴스를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpMvEr/btrfWK2NLeD/BEoKqyLlVjd5rRKkfW9sD1/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EiNzY/btqC5pnCTQe/LSDQCtN7V3LSga7U7P2rX0/img.png)
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 ..