🍎 Swift80 [Swift🍎] RxSwift에서 bind와 driver의 차이 1. BindObservable을 UI요소에 바인딩 할 때 사용하며 데이터 스트림을 직접적으로 UI와 연결할 수 있다주요 특징1. 간단한 코드로 UI 업데이트를 할 수 있다 → OnNext만 가지고있기 때문에 단순히 생성되는 값을 넘기고 싶을 때 유리하다2. 스레드 처리: 일반적으로 메인 스레드에서 동작하지 않으며 직접적으로 스레드를 지정해 주어야 할 수 있다3. 에러 처리: 에러 처리를 포함하지 않는다 → onNext만 가지고 있어서 error&completed 가 발생하지 않는 무한한 이벤트를 방출할 수 있다 → 옵저버블이 eroor를 방출하면 해당 옵저버블은 종료되며, 따로 에러를 처리하거나 UI에 반영할 수 없다4. 메모리 관리: bind는 Disposable을 반환.. 2024. 10. 14. [Swift🍎] UISearchController 키보드 숨김처리 UISearchController로 네비게이션바에 서치바 생성 후 테이블뷰에 데이터를 받아오는 상황!!서치바가 활성화 된 상태에서 테이블뷰를 스크롤했을 때 키보드가 내려가지 않는다 탭 제스처 인식기도 써보고 여러가지를 해봤는데,일단 텍스트뷰가 없는 상황에서는 탭 제스터 인식기는 적절하지 못하다고 함(실제로 동작 안함) 테이블뷰 Delegate를 사용하는 방법도 있는데, 딜리게이트는 복잡하기도 하고 코드가 길어져서 선호하지 않는 편이다.. 그래서 RxSwift와 endEditing을 이용해서 처리해 보기로 했다 gymTableView.rx.willBeginDragging .subscribe(onNext: { [weak self] _ in self.. 2024. 9. 26. [Swift🍎] pushViewController, setViewControllers 1. pushViewController현재 네비게이션 스택의 가장 위에 새로운 ViewController를 추가화면 전환 시, 이전 ViewController는 네비게이션 스택에 남아 있어서 Back 버튼을 눌러 이전 화면으로 돌아갈 수 있다(새로운 ViewController가 현재 스택의 맨 위에 추가)let newVC = NewViewController()self.navigationController?.pushViewController(newVC, animated: true)→ 단계적인 네비게이션의 흐름 2. setViewControllers현재 네비게이션 스택을 교체네비게이션 스택에 있는 모든 ViewController를 대체하고, 새로운 ViewController 목록을 스택에 설정Back .. 2024. 9. 25. [Swift🍎] CollectionView 뜯어보기 1. 기본적인 컬렉션뷰의 구조와 사용class ViewController: UIViewController { //콜렉션뷰 선언 var collectionView: UICollectionView! //데이터 배열 let data = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5"] override func viewDidLoad() { super.viewDidLoad() //1. 콜렉션뷰 레이아웃 설정 (기본적인 그리드 레이아웃) let layout = UICollectionViewFlowLayout() layout.itemSize = CGSize(width: 100, height: 100.. 2024. 9. 5. [Swift🍎] TabBarController로 탭바 구성하기 코드 베이스로 구성할 것이기 때문에 씬딜리게이트에서 willConnectTo 제외하고 모두 지워준다 기본적인 골격TabBarController을 rootViewController으로 지정해준다 탭바에 들어갈 viewController 생성 후 넣어줌 여기까지 진행 후 빌드해보면, 빌드 시에는 아무 것도 보이지 않지만하이어라키 계층 상에는 무언가가 생겨있는 것을 알 수 있음 이제 각 viewController로 들어가서 TabBarItem 지정해 주면 됨title에 탭바에 들어갈 이름, image는 시스템에서 가져온 이미지(SF Symbols: 애플에서 기본 제공해주는 이미지)→ 최초에 화면이 만들어질 때는 viewDidLoad가 보이지 않으므로 init에 탭바를 만들어줌 탭바가 잘 들어.. 2024. 8. 10. [강의노트👩🏻💻] 스위프트 아키텍처 - MVC와 MVVM 1. 아키텍처란?사전적 의미로는 건축학, 설계학을 뜻한다개발에서 의미하는 소프트웨어 아키텍처는 개발 프로그램의 구조와 뼈대를 의미한다iOS 에서 가장 기본이 되는 아키텍처 패턴은 MVC와 MVVM이 있다 2. MVC MVC란 Model - View - Controller 를 앞 글자를 따온 것이다각 담당하는 역할은 아래와 같다Model : 데이터 구조 표현 및 데이터 저장 (ex. 연락처앱의 PhoneBook 구조체)View: UI를 표현하기 위한 요소 (ex. UIButton, UITableView..)Controller : Model과 View의 중재자 역할. Model의 데이터를 View에 표현할 수 있도록 도와주며 사용자가 입력하는 Request를 처리한다 🍎 애플이 추구한 MVC 아키텍.. 2024. 8. 2. 이전 1 2 3 4 5 ··· 14 다음