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

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

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

Android Minimum touch target size

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

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

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