iOS

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/Design Pattern

[iOS/Design Pattern] MVVM에 대한 나의 고찰

왜이리 MVVM에 집착하는가?다른 디자인 패턴도 많은데 왜 MVVM 패턴에만 집착하는가?MVC 패턴은 간단하고 이해하기 쉬운 구조를 가지고 있지만 Controller의 부담이 커지기 쉽다는 단점이 있고, MVP 패턴은 View와 Presenter의 의존성이 높아진다는 단점이 있다. 물론 MVVM 패턴이 단점이 없는 것은 아니지만 MVC, MVP와 비교했을 때 MVVM이 제공하는 장점이 있기 때문에 많은 개발자들이 MVVM 패턴에 집착하는 것 같다. 내가 생각하는 MVVM의 장점은 아래와 같다.1. 데이터 바인딩 : MVVM은 View와 ViewModel 간의 데이터 바인딩을 통해 자동으로 UI를 업데이트 한다. 데이터 바인딩을 통해 코드를 간결하게 유지하고, UI와 데이터의 동기화를 자동으로 처리한다. ..

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