DesignPattern

· iOS/Swift
Key-Value Observing(KVO)은 다른 객체의 property 변경에 대해 객체에 알리는 데 사용하는 코코아 프로그래밍 패턴입니다. Model과 View 사이와 같이 앱의 논리적으로 분리된 것 사이의 변경 사항을 전달하는 데 유용합니다. willSet, didSet과 유사하지만 KVO는 객체 외부에서 property변경을 관찰하는 데 사용된다는 차이점이 있습니다. NSObject를 상속받은 클래스에서만 Key-Value Observing을 사용할 수 있습니다. Key-Value Observing을 위해 Observe할 property 앞에 @objc attribute와 dynamic modifier를 붙여주어야 합니다. class Almond: NSObject { // NSObject를 상속..
· iOS/iOS Dev
MVI pattern이 오고 있습니다.(이미 왔나요?) 이번에 다녀온 SyncSwift2022 컨퍼런스에서 MVI 패턴에 대한 언급이 2회 등장했습니다. 두번 모두 SwiftUI에 대한 설명중에 선언적 UI인 SwiftUI에서는 MVVM보다는 MVI패턴이 더 어울린다는 내용이었습니다. 여기서 MVI는 Model, View, Intent를 의미하고, 아래와 같은 단방향 데이터 흐름을 보여주는 패턴입니다. View로부터 사용자가 UI event를 일으키면, 그 action을 받아서 Intent가 Model의 State를 update시키고, 그 update된 Model의 State를 View가 반영해서 사용자에게 보여주는 흐름입니다. (SyncSwift2022에서 문상봉님 세션에서는 Intent역할을 좀더 세..
SwiftyCody
'DesignPattern' 태그의 글 목록