| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- SWiFT
- c언어
- 재귀
- level13
- windosws wbcs
- pwnable.kr
- PHP
- 자료구조
- System
- 파일 시스템
- 두근두근 자료구조
- 스택
- 암호수학
- ftz
- web
- 정렬 알고리즘
- C
- Java
- HTML
- LoB
- War Game
- 큐
- Stack
- 시간복잡도
- ftz level13
- OSI
- 파이썬
- windosw 문자열
- 미로 탐색 알고리즘
- 백준
- Today
- Total
목록iOS (27)
나의 기록, 현진록
A -> B로 이동할 때 A에 작성하자! let vc = AViewController() vc.hidesBottomBarWhenPushed = true self.navigationController?.pushViewController(vc, animated: true)
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(..
@IBOutlet weak var thumbnailImage: UIImageView! let url = URL(string: "이미지 경로") DispatchQueue.global().async { [weak self] in let data = try? Data(contentsOf: url!) DispatchQueue.main.async { self?.thumbnailImage.image = UIImage(data: data!) } } [참고] https://archijude.tistory.com/183
클론 코딩 시에 자주 활용할 것 같아서 작성하는 글.... 인스타나 넷플릭스, 뮤직 플레이어 앱과 같이 실제 존재하는 영화, 노래 등의 데이터를 활용할 때 좋은 것 같다. iTunes Search API: Constructing Searches developer.apple.com 위 사이트에 들어가서 iTunes Search API - Search - Construct a Search에 아이툰즈를 어떻게 사용하는지 정리되어 있다. 아래와 같이 정리된 표를 볼 수 있으며 API를 활용할 때 필수적으로 필요한 파라미터나 입력할 수 있는 값등이 작성되어 있다. Search 카테고리에 있는 ~ Example을 뒤져보면 어떤 형식으로 response 데이터가 이루어져 있는지도 확인할 수 있다. 아래 사진은 그 중..
seachBar의 cancle button은 "cancel"이라는 영어로 초기화된다. -> "취소"로 바꾸어보자 class SearchViewController: UIViewController { @IBOutlet weak var searchBar: UISearchBar! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.searchBar.delegate = self initSearchBar() } } func initSearchBar(){ searchBar.setValue("취소", forKey: "cancelButtonText") searchBar.setShows..