일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- windosws wbcs
- 스택
- 큐
- 재귀
- OSI
- 두근두근 자료구조
- c언어
- C
- 파일 시스템
- War Game
- windosw 문자열
- 암호수학
- SWiFT
- web
- 파이썬
- 시간복잡도
- Java
- Stack
- 자료구조
- 백준
- ftz
- 정렬 알고리즘
- LoB
- level13
- 미로 탐색 알고리즘
- pwnable.kr
- PHP
- System
- HTML
- ftz level13
- Today
- Total
목록iOS (20)
나의 기록, 현진록
발단상위 ViewModel에서 하위 View를 위해 사용하는 여러 프로퍼티가 존재상위 ViewModel의 책임을 분리하기 위해 하위 View에서만 관련된 상위 ViewModel의 일부를 하위 ViewModel에 분리하위 View에서만 사용하는 연산 프로퍼티는 하위 View에 이동하위 View에도 관련 있는 상위 ViewModel 프로퍼티는 하위 뷰 모델에서 @Binding으로 선언된 프로퍼티에 전달 이전class ParentViewModel: ObservedObject{ @Published var url: String = ""{ didSet{ self.isLoading = true } // URL 관련 비동기 작업이 끝나면 false 처리 됨..
🔥 이슈 위와 같이 탭 바 이동 시 애니메이션 없이 페이지가 전환되게 되는데.... 자칫 딱딱해 보일 수 있는 UI다. class TabBarViewController: UITabBarController, UITabBarControllerDelegate { override func viewDidLoad() { super.viewDidLoad() delegate = self } public func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { guard let fromView =..
A -> B로 이동할 때 A에 작성하자! let vc = AViewController() vc.hidesBottomBarWhenPushed = true self.navigationController?.pushViewController(vc, animated: true)
About the app launch sequence | Apple Developer Documentation Learn the order in which the system executes your code at app launch time. developer.apple.com 앱을 실행하는 것은 복잡한 일련의 단계가 있으며 대부분 시스템이 자동으로 처리합니다. 앱을 실행하는 도중에 UIKit은 AppDelegate의 메서드를 호출하여 사용자와 상호작용을 위해 앱을 준비하고 앱이 요구하는 특정한 작업을 구성하는 것을 준비합니다. 🙋♂️ 앱 실행 순서 사용자 또는 시스템이 앱을 실행하거나 시스템이 앱을 사전 준비합니다. 시스템은 Xcode가 제공하는 main() 메서드를 연산합니다. main() 메서드..
UISceneDelegate | Apple Developer Documentation The core methods you use to respond to life-cycle events occurring within a scene. developer.apple.com 🙋♂️ iOS 13 이후 iOS 13 이후부터는 기존에 사용하던 Window의 개념이 Scene으로 대체되었으며, Appdelegate의 역할이었던 UILifecycle을 SceneDelegate가 맡게 되었다. 🙋♂️ Scene이란? window의 개념이 Scene으로 대체되었다고 하는데 그렇다면 Scene은 무엇일까? - UIKit은 UIWindowScene 객체를 사용하는 앱의 UI의 각 인스턴스를 관리한다. - Scene에는 U..
UIApplicationDelegate | Apple Developer Documentation A set of methods to manage shared behaviors for your app. developer.apple.com 🙋♂️ AppDelegate 란? app delegate는 AppDelegate의 인스턴스이다. app delegate는 공유 동작을 관리한다. app delegate는 사실상 앱의 root object이며, UIApplication과 함께 시스템과 상호작용 하는 것을 관리한다. UIApplication 객체처럼 UIKit은 앱 실행 주기 초반에 app delegate를 생성하므로 앱의 실행 주기에 항상 존재한다. 🙋♂️ AppDelegate의 역할(iOS 13 이후)..
🙋♂️ TDD(테스트 주도 개발)이란? - 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. - 1. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. - 2. 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. - 3. 작성한 코드를 표준에 맞도록 리팩토링한다. 테스트가 주가 되어 개발을 이끌어간다. 테스트를 작성하면서 메서드를 완성시킨다. - Red : 실패하는 테스트를 작성하는 구간 - Green : 실패한 테스트를 통과하기 위해 최소한의 변경을 하여 테스트에 성공하는 구간 - Refactor : 테스트의 성공을 유지하면서 코드를 더 나은 방향으로 개선해나가는 구간 🙋♂️ TDD(테스트 주도 개발)의 장점 - 테스트를 통과하는 코드를 작성하기 위해..
🙋♂️ 유닛 테스트가 무엇인가? - 유닛 테스트는 다른 말로 단위 테스트라고도 한다. - 하나의 함수, 메서드 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트입니다. 🙋♂️ 유닛 테스트, 어떤 점이 좋은건가요? - 해당 메서드에 대해서 독립적(모듈)으로 테스트하기 때문에 빠른 리팩토링 반영과 테스트를 진행할 수 있다. - 코드의 확장이나 리팩토링 시에도 안정성을 확보한 채로 신속한 대응이 가능하다. 읽기 어렵고 불안정한 유닛 테스트는 코드 기반을 파괴할 수도...(= 무조건 좋은 것은 아니다.) 🙋♂️ 테스트는 어떻게 이루어지나요? - 예상값과 결과값의 비교로 이루어진다 func testArraySorting() { let input = [1, 7, 6, 3, 10] let expectatio..
TextView의 높이를 변경함에 따라 본문이 작성되는 위치가 생각대로 되지 않는 경우가 있다. UITextView에서 extension 코드를 작성하여 준다. extension UITextView{ func alignTextVerticallyInContainer() { var topCorrect = (self.bounds.size.height - self.contentSize.height * self.zoomScale) / 2 topCorrect = topCorrect < 0.0 ? 0.0 : topCorrect; self.contentInset.top = topCorrect } } @IBOutlet weak var textView: UITextView! override func viewDidLoad(..
GitHub - dbguswls030/MyNetflix Contribute to dbguswls030/MyNetflix development by creating an account on GitHub. github.com 작성자가 복습겸 코딩한 내용을 기록하려고 글을 작성하는 것이지만, 혹시라도 이 글을 참고하는 사람이 있다면 넷플릭스를 클론코딩하였기 때문에 기본 동작은 유사하다는 전제하에 글을 읽어나가면 될 것이다. 용량 이슈로 배속 적용, 타이머 적용하여 ControlView 숨기기 기능 때문에 잘 안 보이지만! 1초마다 영상 재생 시간을 탐지하여 남은 시간을 나타내는 기능을 구현해보자. 영상이 재생되는 뷰가 실행됨과 동시에 영상이 재생될 수 있도록 할 것이다. viewDidLoad()에는 play(..