일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWIFT
- swiftUI
- 클린 코드
- map
- swift documentation
- HIG
- Clean Code
- collectionview
- uiscrollview
- 애니메이션
- RxCocoa
- ios
- tableView
- UITextView
- Refactoring
- 스위프트
- clean architecture
- rxswift
- UICollectionView
- Observable
- 리펙터링
- combine
- Protocol
- Human interface guide
- 리펙토링
- 리팩토링
- ribs
- Xcode
- MVVM
- uitableview
- Today
- Total
목록StoryBoard (10)
김종권의 iOS 앱 개발 알아가기
* Storyboard로 UI 구현 기본기 목차 참고 Storyboard 장단점 장점 처음오는 개발자도 한눈에 어떤 화면들이 있는지 파악이 용이 UI 관련 내용이 코드와 분리가 되어 코드의 복잡도가 줄어드는 점 단점 협업 시 merge conflict 해결이 어려움 Storybaord를 열기만 해도 수정사항이 생기므로 git add . 할 때 구분 필요 Storyboard에 여러개의 UIViewController가 많아지면 느려지는 문제 property들을 살펴볼 때 오른쪽 Attributes inspector를 통해 하나하나씩 확인해야 하므로 섬세하게 property들을 파악하기가 코드 베이스보단 힘든 점 Storyboard Reference 개념 Storyboard안에서 reference를 두어서 다..
1. Storyboard로 UI 구현 기본기 - storyboard 장단점, Storyboard reference 개념 2. Storyboard로 UI 구현 기본기 - segue, Action Segue, Manual Segue (세그웨이) 3. Storyboard로 UI 구현 기본기 - @IBOutlet, @IBAction, UIStoryboard, instantiateViewController, 코드로 초기화 방법 4. Storyboard로 UI 구현 기본기 - Xib, Nib 개념, 커스텀 뷰
* Code base로 구현하는 방법은 이 포스팅 글 참고 구현 아이디어 UIStackView안에 UIStackView를 넣어서 구현 storyboard로 구현할때는 code base로 구현하는것보다 손이 더 가는 부분이 있으므로 따로 볼 것 UIScrollView 구현 방법만 숙지하고 있다면 매우 쉽게 접근 가능 UIScrollView 사용 방법 1) UIScrollView를 추가하면 frame layout guide와 content layout guide가 존재 frame layout guide는 UIScrollView를 잡고 constraint 시킬 때, 그 constraint가 frame layout guide로 적용 (동일한것) content layout guide는 스크롤 뷰 안에 새로운 뷰를..
1. ReactorKit - 개념 2. ReactorKit - 테스트 방법 (Storyboard 사용, IBOutlet 테스트 방법) 3. ReactorKit - `TaskList 구현`, 템플릿 (template), 비동기 처리 transform(mutation:) 4. ReactorKit - `TaskEdit 구현`, 화면전환, 데이터 전달 * 해당 코드는 ReactorKit git repository 코드를 참고하였습니다. * Unit Test가 중요한 이유, 클린 코드: https://ios-development.tistory.com/770 * Counter 예제 코드: https://github.com/JK0369/ExReactorKit/tree/BaseComponent ReactorKit 테스..
아이디어 각 ViewController들은 해당 protocol들을 상속 받아서, Builder에서 해당 ViewController를 초기화 할때 정의된 함수 호출 StoryboardInstaiable 프로토콜 정의 public protocol StoryboardInstantiable { associatedtype ViewControllerType static var defaultFileName: String { get } static func instantiateViewController(_ bundle: Bundle?) -> ViewControllerType } default implementation 클래스의 이름을 얻기 위해 NSStringFromClass() 사용 class 타입을 받아서 그 ..
https 통신을 허용 설정 info.plist의 "App Transport Security Settings" Allow Arbitrary Loads의 value값을 YES로 설정 WebView 생성 Storyboard에서 WebKit View생성하여 UIViewController에 추가 조건: iOS11+ 클래스 생성 import UIKit import WebKit class MyWebViewController: UIViewController { @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() loadWebPage("https://www.naver.com/") } private func lo..
1. iOS 스러운, storyboard 활용 방법 (static prototype cell, segue, gesture) 2. iOS 스러운, storyboard 활용 방법 (dynamic prototype cell, unwind segue, storybaord reference) storyboard 활용 (UI, flow) 목적: code 없이 storyboard만을 이용하여 플로우, UI 구현 code없이 storyboard를 사용하는 이유: 빠른 생산성, 직관성 1번 챕터에서 storyboard로 화면을 빠르게 만들며 prototype을 잡은 후 2번 챕터에서 controller를 통해 데이터 다루는 형식 앱 구현 방식: 디자인, flow prototype -> 로직 구현 프로젝트 플레이어 목록 ..
템플릿 세팅 git clone: github.com/uber/RIBs 템플릿 설치 $ cd RIBs/ios/tooling $ /install-xcode-template.sh Xcode의 템플릿 확인 튜토리얼의 RIB 트리 LoggedOut RIB 추가 * storyboard를 사용할 경우, 아래 "RIBs에서 storyboard 사용 방법" 참고 LoggedOutBuilder LoggedOutBuildable protocol을 사용하여 mock을 만들 수 있는 구성 LoggedOutInteractor LoggedOutRouting protocol로 Router와 통신 LoggedOutListener protocol은 Router와 연결되어 있으며 Router에서 부모 RIB에 데이터 전달 LoggedOu..