iOS 내가 보려고 기록하는 Realm 구조 설계 및 @escaping
내가 자주하는 실수를 기록하기 위해 작성
이번에 Realm 모델 설계를 변경하기로 결정했는데 Swift Concurreny 보다 클로저를 사용하기로 정함.
클로저에는 @escaping과 @nonescaping이 존재.
설계를 UML로 하는데, 간단하게 UML을 사용해서 Static이나 Property Wrapper는 어떻게 표현해야하는지 고민.
UML
static의 경우에는 밑줄로 표현한다고해서 우선 이렇게 작성
각 모델이 직접 마이그레이션을 책임지도록 설계
> 그래야 각 모델에 대한 변경사항이 한눈에 보여서 실수가 줄어듦


코드 스크린샷


(참고)
https://jusung.github.io/Escaping-Closure/
[Swift] Escaping 클로저 (@escaping)
정의 Escaping 클로저는 클로저가 함수의 인자로 전달됐을 때, 함수의 실행이 종료된 후 실행되는 클로저 입니다. Non-Escaping 클로저는 이와 반대로 함수의 실행이 종료되기 전에 실행되는 클로저
jusung.github.io
https://github.com/BoilerSwift/Logger/blob/main/Sources/Logger/Logger.swift
GitHub - BoilerSwift/Logger
Contribute to BoilerSwift/Logger development by creating an account on GitHub.
github.com
https://pages.cs.wisc.edu/~hasti/cs302/examples/UMLdiagram.html
UML Class Diagrams
+Employee(String) +Employee(String, double) +getName():String +getEmployeeID():int +getPayRate():double +changeName(String):void +changePayRate(double):void +getNextID():int
pages.cs.wisc.edu
'apple > iOS, UIKit, Documentation' 카테고리의 다른 글
| [iOS] UICollectionView에 대해서 알아보기 7편 (UICollectionViewDiffableDataSource) (1) | 2022.09.04 |
|---|---|
| [iOS] UICollectionView에 대해서 알아보기 6편 (Realm, async, await, Delegate) (1) | 2022.09.04 |
| [iOS] FlexLayout을 Cell에서 사용할 때 주의할 점 (1) | 2022.09.02 |
| [iOS] Swift random String 생성 (0) | 2022.09.01 |
| [iOS] UICollectionView에 대해서 알아보기 5편 (북마크 구현 및 모델 관리) (1) | 2022.09.01 |