일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- Swift Package Manager
- base64 변환
- 상단 탭바
- GeometryReader
- 스크롤 탭
- swift
- scrolling tab
- url 추적
- transformation.map
- DataBinding
- oberve url
- UIViewControllerTransitioningDelegate
- List
- convert base64
- Tuist
- detect url
- Android
- notifychanged
- UIPresentationController
- DevelopmentRegion
- ios
- development language
- 개발자 면접
- url 관찰
- pod install
- Side Menu
- 기존 앱
- ViewBuilder
- swift #swift keychain #keychain 사용법
- Today
- Total
목록IOS (30)
버그 잡이
UIResponder UIResponder는 이벤트에 반응하고 이를 핸들링 할 수 있는 객체입니다. 위의 상속 구조를 보면 알 수 있듯이, UIView, UIViewController는 UIResponder를 상속하고 있습니다. 이벤트가 발생하면 UIKit은 리스폰더 객체에 이벤트를 넘깁니다. 특정 이벤트를 처리하기 위해서는 해당 이벤트에 대응하는 메서드들을 오버라이드하여 구현할 수 있습니다. *toucheBegan(), touchedMoved(), touchedEnded(), touchedCancelled() 메서드가 있습니다. class ViewController: UIViewController { override func touchesBegan(_ touches: Set, with event: UI..
animation의 변천사 (iOS 2) beginAnimations, commitAnimations (iOS 4) closure 형태인 animate 메서드 (iOS 10) UIViewPropertyAmimation 1번은 현재 deprecated 되었습니다. 2번이 많이 쓰이고 있는데, 애플에서는 3번 방법의 사용을 권장하고 있습니다. 그럼 2번, 3번 방법에 대해서 알아보겠습니다, Animate animate(withDuration: animations:) → duration(시간), animation(변화될 특성) 을 파라미터로 받습니다. animate(withDuration: animations: completion:) → 위 파라미터에 더해. 애니메이션 완료시 동작하는 completion을 추..
custom Popup을 만들고 싶었습니다. 크게 UIView를 활용하는 방법과 UIViewController를 활용하는 방법으로 나뉩니다. 그중 UIViewController를 활용하는 방법에 대해서 알아보겠습니다. 1. Popup 만들기 https://m.blog.naver.com/PostView.nhn?blogId=tngh818&logNo=221539856664&proxyReferer=https:%2F%2Fwww.google.com%2F 위 블로그에 너무 잘 설명되어 있습니다.(감사합니다!) 위 블로그 내용에 첨언 하자면 backgroundColor를 black으로 하고 opacity를 50%로 주면 기존 다른 팝업들과 유사한 색상을 얻을 수 있습니다. 2. 애니메이션 효과 위 블로그 내용에는 아쉽..
URLSession URLSession은 HTTP/HTTPS를 통해 콘텐츠(데이터)를 주고받는 API를 제공하는 클래스입니다. 이 객체를 통해서 네트워크 통신을 할 수 있습니다. 보통 alamofire , moya와 같은 네트워크 라이브러리를 통해서 네트워크 통신을 수행 하지만 이들 또한 URLSession을 기반으로 하고 있기 때문에 이에 대해서 이해할 필요가 있습니다. URLSession은 URLSessionConfiguration을 통해 다음 세가지 유형의 URL을 생성할 수 있습니다. 기본 세션 (Default Session) : 기본적으로 사용하는 방법으로 디스크에 저장하는 방식입니다. 임시 세션 (Ephemeral Session) : 기본 세션과 유사하지만, 디스크에 데이터를 저장하지 않고, ..
GCD는 멀티코어와 멀티프로세싱 환경에서 최적화된 프로그래밍을 지원하기 위해 애플에서 개발한 기술입니다. task를 비동기적으로 관리하는 것에 도움을 줍니다. GCD는 dispatch queues라는 큐를 관리하는데요. 프로그래머가 실행할 태스크(작업)을 생성하고 Dispatch Queue에 추가하면 GCD는 태스크(작업)에 맞는 스레드를 자동으로 생성해서 실행하고 작업이 종료되면 해당 스레드를 제거합니다. 따라서, 개발자는 Dispatch Queue라는 클래스를 활용해서 GCD 기술을 활용할 수 있습니다. 장점 스레드 생성, 소멸과 같은 관리를 따로 해주지 않아도 알아서 해줍니다. 보다 쉽게 비동기 프로그래밍을 가능하게 해주는 것이지요. 또, 일반적으로 쓰레드를 직접 작성한 경우보다 빨리 task를 실..
오늘은 view controller 간 데이터를 주고 받는 방법에 대해서 알아보겠습니다. 크게 세 가지 방법이 있습니다. present, push를 활용한 방법 segue를 활용한 방법 프로토콜을 활용한 방법 present, push 를 활용한 방법 방법은 다음과 같습니다. firstVC 에서 nextBtn 클릭시, NextVC로 이동하는 코드를 짭니다. 이때 NextVC의 파라미터인 paramEmail에 원하는 데이터를 넣은 후 present(또는 push) 합니다. //firstVC @IBAction func nextBtn(_ sender: Any) { if let nextVC = self.storyboard?.instantiateViewController(withIdentifier: "NextVC"..