iOS

iOS/RxSwift

[RxSwift] withUnretained에 대해 알아보자.

RxSwift의 'withUnretained' 연산자는 메모리 누수를 방지하기 위해 사용되는 연산자이다. 이는 강한 참조로 인해 발생할 수 있는 메모리 누수를 방지하기 위해 'self'에 대한 약한 참조를 사용하여 객체가 더 이상 필요하지 않으면 해제될 수 있도록 한다. 기본적으로 'withUnretained'는 'self'를 약하게 캡처하고, 'self'가 'nil'이 아닐 때에만 연산을 수행한다. 이를 통해 'self'에 대한 강한 참조를 방지하고 메모리 누수를 방지한다. weak selfprivate let label = UILabel()private let button = UIButton(type: .system)button.rx.tap .subscribe(onNext: { [weak sel..

iOS/CoreData

[CoreData] CoreData 변경을 감지해보자.

NotificationCenterNotificationCenter는 iOS에서 이벤트를 전파하는 데 사용되는 중요한 클래스이다. 이 클래스를 사용하면 여러 객체 간 이벤트를 효율적으로 전달하고 처리할 수 있다. ✅ 이벤트 전파 : 특정 이벤트가 발생했을 때 관련된 모든 객체에게 이를 알리는 역할을 한다. 이벤트는 이름 또는 식별자를 가지며, 이벤트가 발생했을 때 해당 이벤트에 등록된 모든 관찰자에게 알린다. ✅ 이벤트 등록과 해제 : addObserver(:selector:name:object:) 메소드를 사용해서 특정 이벤트에 대한 관찰자를 등록하고, removeObserver(:) 메소드를 사용하여 관찰자를 해제한다. 이를 통해 관찰자가 더 이상 필요하지 않을 때 메모리 누수를 방지할 수 있다. ✅ ..

iOS/RxSwift

[RxSwift] UILabel의 탭 이벤트를 감지해보자.

토이 프로젝트 진행 중, UILabel 컴포턴트를 Tap 했을 때 이벤트를 처리하고 싶었다.  제스처 인식let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleLabelTap(_:)))label.addGestureRecognizer(tapGestureRecognizer)label.isUserInteractionEnabled = true@objc func handleLabel(_ sender: UITapGestureRecognizer) { print("Label Tapped!")}UIKit으로 구현한 방법이다. UILabel에 TapGestureRecognizer를 추가한 후, 탭 이벤트를 처리하는..

iOS/RxSwift

[RxSwift] RxSwift와 RxCocoa로 Toggle Button 구현하기

UIKit으로 구현하기var isToggled: Bool = false // 버튼의 상태를 담고있는 변수private lazy var toggleButton: UIButton = { let button = UIButton() button.backgroundColor = .clear button.setTitle("Off", for: .normal) button.setTitleColor(.black, for: .normal) button.addTarget(self, action: #selector(toggleButtonTapped), for: .touchUpInside) return button}() // 버튼 생성@objc func toggleButtonTapped() { ..

여성일
'iOS' 카테고리의 글 목록 (3 Page)