convert(_:to:) / convert(_:from:)
1. convert(_:to:) 내 뷰의 좌표를 다른뷰 기준으로의 좌표값을 반환함. let newRect = myView.convert(myView.bounds, to: myView.superView) //이 말은 myView.bounds가 myView.superView 기준으로의 상대적 좌표값을 반환한다는 뜻 2. convert(_:...
1. convert(_:to:) 내 뷰의 좌표를 다른뷰 기준으로의 좌표값을 반환함. let newRect = myView.convert(myView.bounds, to: myView.superView) //이 말은 myView.bounds가 myView.superView 기준으로의 상대적 좌표값을 반환한다는 뜻 2. convert(_:...
뷰가 차지하는 사각형의 크기와 위치를 나타내는 구조체. origin : 사각형의 시작 위치(좌상단) 좌표 size : 사각형의 너비(width)와 높이(height) struct CGRect { var origin: CGPoint vaar size: CGSize } let rect = CGRect(x: 50, y: 100, wid...
Realm은 빠르고 가벼운 모바일 데이터베이스로, SQLite보다 빠른 성능을 제공하며, 사용법이 간단함. iOS에서 오프라인 데이터 저장이나 캐싱 처리에 많이 사용됨. 1. Realm의 특징 빠른 데이터 처리 → Core Data보다 읽기/쓰기 속도가 빠름 간편한 API → write {} 블록을 사용해 저장/삭제 가능 NoSQL ...
앱 실행 → LaunchScreen.storyboard 표시 LaunchScreen.storyboard의 레이아웃이 표시되지만, 코드는 실행되지 않음. 앱이 실행되면서 시스템이 LaunchScreen을 먼저 보여주는 이유는 앱이 로드될 동안 부드러운 사용자 경험(UX)을 제공하기 위함. 앱의 메인 진입점...
스택 기반 체계(예를 들면 브라우저의 뒤로가기)로 계층화된 내용을 탐색하기 위한 컨테이너 뷰 컨트롤러 하나 이상의 자식 컨트롤러가 존재해야함. Stack : LIFO(Last In First Out)로 역순 탐색을 위한 구조 네비게이션 컨트롤러 객체는 네비게이션 스택 이라고 하는 정렬된 배열을 사용하여 자식 뷰 컨트롤러를 관리합니다 . ...
새로운 값이 들어오면, 기존에 진행 중이던 작업을 취소하고 새로운 작업을 시작하는 연산자 button.rx.tap .flatMapLatest { Observable.just("새로운 값 방출") } .subscribe(onNext: { print($0) }) 버튼을 클릭 새로운 값 방출 : button.rx.tap 기존의...
📌 1번: 버튼 클릭 이벤트 처리 문제 내용 버튼(UIButton)을 PublishSubject<Void>로 감싸서 Rx 방식으로 클릭 이벤트를 처리하라. 버튼이 클릭될 때마다 "버튼이 클릭됨"이라는 문자열을 출력하라. 버튼을 3번 클릭하면 "버튼이 3번 클릭됨"이라는 메시지를 출력하라. 정답 코드 let button ...
UIKit 컴포넌트의 이벤트들을 Observable로 변환해주는 기능을 한다. 컴포넌트.rx.이벤트 방식으로 작성한다. let button = UIButton() button.rx.tap .subscribe(onNext: { print("버튼 클릭됨") }) .disposed(by: disposeBag)
1. map 연산자 방출된 데이터들을 순차적으로 연산한 후 다시 Observable로 반환하는 체이닝 함수 예제 코드 Observable.of(1, 2, 3) .map { $0 * $0 } .subscribe(onNext: { print($0) }) // 출력: 1, 4, 9 결과값 map result: RxSwift....
스트림에서 이전 값과 현재 값을 구분하는 연산자이다. .scan(초기값) { 이전까지 누적된 값, 방출된 값이 들어옴 in 반환값 } 예제 코드 button.rx.tap .scan(0) { count, _ in count + 1 } // 버튼은 Void를 방출해서 '_'로 표시 .subscribe(onNext: { count i...