데이터 바인딩을 위한 필요한 것에 대해 생각해 보자
- 프로퍼티 옵저버를 등록한 저장 프로퍼티
- 프로퍼티 옵저버에 등록되어 값이 변경될 떄마다 호출될 클로저 프로퍼티 생성
- 특정 행동에 대한 실행 메소드 선언을 위한
@escaping
클로저 함수
예시 코드
데이터 바인딩 실행 순서에 대해 생각해보자
- 옵저버 프로퍼티에 선언된 클로저 변수 실행
myData
프로퍼티 값 변경 될 때마다 클로저 변수 실행- Why? 옵저버 프로퍼티에 클로저 변수가 선언되어 있어서
- 이스케이핑 클로저 함수에서 특정 행동을 등록하면 프로퍼티에 변화가 있을 시 실행
- 예제 코드에서
print()
문을 수행할 것을 등록
- 예제 코드에서
@escaping
클로저(callback) 실행- Why? myDataListener가 클로저(callback)를 알고 있어 매개변수가 업데이트 될때마다
escaping
실행
- Why? myDataListener가 클로저(callback)를 알고 있어 매개변수가 업데이트 될때마다
위의 함수가 5번 실행되었는데 그 이유는 이미 초기값을 넣을 때 @escaping
클로저 함수가 실행되서 5번 실행 된다.
'iOS > Swift' 카테고리의 다른 글
Swift) 코드로 UITableView 구현하기 (0) | 2023.02.04 |
---|---|
Swift) NumberFomatter (0) | 2022.12.02 |
Swift) Delegate, Notification 둘 중 어느 것을 사용해야 할까 (0) | 2022.10.12 |
Swift) Realm 연동하기 (0) | 2022.10.12 |
Swift) SwiftLint 적용 (0) | 2022.09.10 |