iOS Environment

운영 체제: macOS Ventura 13.0.1
사용 버전: Xcode 14.1. Swift, SwiftUI
​

iOS Environment를 알아보겠습니다.

Environment는 제가 지금까지 알아본 바로는 DI(Dependency Injection, 의존성 주입)를 쉽게 하기 위한 기능으로 보입니다.
​
처음 SwiftUI 프로젝트를 만들 때, CoreData를 체크하면 나오는 코드입니다.











17 번째 줄을 보면 .environment를 해서 무엇인가를 설정합니다.

\.managedObjectContext가 key 값이 되고, 거기에 들어가는 값이 persistencecontroller.container.viewContext가 됩니다.

​

이렇게 설정한 것은 ContentView()와 그 하위 뷰들에게 모두 적용됩니다.

​

ContentView()에서는 이렇게 사용됩니다.

12 번째 줄을 보면 @Environment를 사용합니다.

괄호 안에는 위에서 지정한 key 값 \.managedObjectContext가 들어가고, 뒤에는 현재 여기서 사용할 변수가 적힙니다. 여기서는 viewContext로 적었네요.







이렇게 하면, init을 적어가며 DI를 할 필요가 없어집니다.

Envirionment에는 여러 가지를 지원합니다. 

​

저도 뭐가 있는지는 봐야 알겠지만, undoManager 등을 사용할 수 있습니다.






또한, 공식 문서에 따르면 사용자가 Environment key value를 만들 수도 있습니다.




이렇게 extension을 사용해서 말이죠.





끝.


카테고리: iOS

댓글

이 블로그의 인기 게시물

일본어 문장부호

KiCad 시작하기 7 (FreeRoute 사용하기 2)

KiCad 시작하기 3 (새로운 소자 추가하기)

Python urllib.parse.quote()

음악 총보(Score), 파트보(Part)

Forensics .pyc 파일 .py로 복구하기

KiCad 시작하기 6 (FreeRoute 사용하기 1)

Kivy 시작하기 12 (Pyinstaller로 exe 파일 만들기)

KiCad 시작하기 2 (PCB 만들기)

RFC 9421