일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Algorithm
- string
- 책
- 책 추천
- 알고리즘
- ios
- 독서
- Xcode
- ARC
- RX
- rxswift
- 머신러닝
- iOS SwiftUI
- leetcode
- 책 후기
- 딥러닝
- swift5
- objective-c
- 스위프트UI
- SWIFT
- ReactiveX
- 애니메이션
- Deep learning
- Animation
- swiftUI
- 문자열
- 스위프트
- stanford SwiftUI
- objc
- wwdc
- Today
- Total
목록kvo (2)
THIS IS ELLIE
현재 진행하는 프로젝트에서 API 리퀘스트를 날려 받아온 데이터를 디코딩하고 넣어줍니다. 프로퍼티가 새로운 데이터가 들어옴을 감지하면 tableView를 리로드 시켜줍니다. 사실 스위프트에서는 그냥 프로퍼티 옵져버를 사용하는데요. 오브젝티브씨에서는 KVO key value observing이라는 친구가 있습니다. KVO는 오브젝트 값의 변화를 통지, 감시하기 위한 구조입니다. 특정 인스턴스의 특정 프로퍼티가 변화했을 때를 파악해 그에 맞는 처리를 할 수 있습니다. 위에서 오브젝트 값의 변화를 통지, 감시한다라고 했죠. KVO를 사용하려면 먼저 NSObject를 상속받아야 합니다. 즉 클래스여야 합니다. KVO를 그림으로 나타내자면 아래와 같은 흐름입니다. 이제 실제로 사용해봅시다. KVO로그를 찍기 위해..
다 객체간의 소통을 할 수 있다는 공통점을 가진다. 세 패턴 모두 특정 이벤트가 일어나면 원하는 객체에 알려주어 해당되는 처리를 하는 방법을 가지고 있다. 하지만 한 객체는 그 자체로 존재하면서 소통하고 싶을 뿐 다른 객체에 종속되어 동작하는 것은 재사용성과 독립된 기능요소 측면에서 볼 때 바람직하지 않다. - 클로저 함수의 인자로 클로저가 들어가면 함수는 자신의 코드 내에서 언제든 자신의 인자인 클로저를 부를 수 있게 된다. 이런 구조를 활용하면 함수가 자신의 작업을 모두 완료된 후 클로저를 호출하도록 한다면 async에서 작업이 완료된 시점을 인식하고 처리할 수 있게 된다. - 델리게이트 대상 객체가 누군지 알 수 있을때 사용한다. MVC디자인 패턴 구조에서 View가 Controller에게 말을 걸..