일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Observable
- uitableview
- 리펙터링
- SWIFT
- ios
- RxCocoa
- 리팩토링
- Xcode
- ribs
- clean architecture
- 리펙토링
- rxswift
- uiscrollview
- UITextView
- UICollectionView
- tableView
- 클린 코드
- Protocol
- 스위프트
- HIG
- Clean Code
- collectionview
- MVVM
- combine
- 애니메이션
- Human interface guide
- Refactoring
- swiftUI
- swift documentation
- map
- Today
- Total
목록navigation (4)
김종권의 iOS 앱 개발 알아가기
화면전환 기초 present: 현재 화면과 다른 새로운 과업을 수행할 때 push: 현재 화면과 연관된 과업을 수행할 때 화면전환이 되는 케이스와 안되는 케이스 같은 화면에서 present 여러번은 불가능 crash 발생은 하지 않음 crash가 발생하는 케이스는 자기 자신 화면을 띄우는 경우나 같은 화면을 띄우는 경우에 발생 @objc private func tap() { // A화면에서 B화면을 present > A화면에서 C화면을 present (x) present(vc1, animated: true) DispatchQueue.main.asyncAfter(deadline: .now() + 3, execute: { self.present(self.vc2, animated: true) }) } (같은 ..
* 애플 튜토리얼의 프로젝트 파일을 받아서 실습하고 그 중에서 중요한 부분만 포스팅 4강에서 만든 Row import SwiftUI struct LandmarkRow: View { var landmark: Landmark var body: some View { HStack { landmark.image .resizable() .frame(width: 50, height: 50, alignment: .leading) Text(landmark.name) Spacer() //
* 애플 튜토리얼의 프로젝트 파일을 받아서 실습하고 그 중에서 중요한 부분만 포스팅 데이터 모델 정의 애플에서 제공해준 assets폴더와 landmarkData 확인 landmarkData.json [ { "name": "Turtle Rock", "category": "Rivers", "city": "Twentynine Palms", "state": "California", ... 모델도 기존 swift에서 사용하던 방식처럼, json파일을 디코딩 하기위해서 Codable을 따르도록 구현 import Foundation import SwiftUI import CoreLocation struct Landmark: Hashable, Codable, Identifiable { var id: Int var na..
.pageSheet에서의 viewWillAppear 동작 안하는 것 주의 A가 밑에 있고 B가 위에 존재할때 modalPresentationStyle = .pageSheet 방법은 B가 dismiss시에 A는 viewWillAppear호출이 안되는 것 주의 @objc private func didTapButton(_ sender: Any) { let secondViewController = SecondViewController() secondViewController.modalPresentationStyle = .pageSheet present(secondViewController, animated: true, completion: nil) } .fullScreen 방식은 B가 dismiss된 경우, A..