iOS Environment
운영 체제: macOS Ventura 13.0.1
사용 버전: Xcode 14.1. Swift, SwiftUI
처음 SwiftUI 프로젝트를 만들 때, CoreData를 체크하면 나오는 코드입니다.
사용 버전: 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
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.