@Environment 질문 있습니다.
Environment 값 가져올때 역슬래시 하고 점으로 접금 하고 있는데 역슬래시는 어떤 의미를 갖고 있나요?
답변 1
0
안녕하세요 줄리님!
강의 들어주셔서 감사합니다!
강의평도 달아주셔서 정말 감사드립니다~! :D
역슬래시 좀 어려운 문법인데요
스위프트의 keyPath라는 문법입니다.
스트럭트나 클래스의 프로퍼티명을 인자로 넘기고 싶을때 사용해요
import Foundation
struct Person {
let name: String
let address: String
}
func printProperty(of person: Person, keyPath: KeyPath<Person, String>) {
let propertyValue = person[keyPath: keyPath]
print("\(keyPath) : \(propertyValue)")
}
// 사용 예시
let person = Person(name: "Alice", address: "123 Apple St")
printProperty(of: person, keyPath: \Person.name) // 출력: name : Alice
printProperty(of: person, keyPath: \Person.address) // 출력: address : 123 Apple St // 출력: Name: Alice위의 예제를 보면 printProperty이 두가지 인자를 받고 있는데요
person은 출력의 구조체명
keyPath는 person의 무엇을 출력할지를 인자로 받습니다.
여기서는 \Person.name이나 \Person.address를 받을 수 있는데요
이렇게 구조체나 클래스의 프로퍼티 자체를 인자로 받을 때 키패스를 사용합니다.
제 강의 에서는 @Environment(\.colorScheme) 이런식으로 사용했는데요
여기서는 @Environment()가 EnvironmentValues의 프로퍼티를 받는데요. 그걸 조회하기 위해 이 키패스를 받게 됩니다.
다시 말하면
앱의 environment정보들을 EnvironmentValues에 프로퍼티들로 저장되어 있고
예를 들어 다음과 같은 정보들이 저장되어 있습니다.
예시)
EnvironmentValues.colorScheme = "다크 모드 or 라이트 모드"
EnvironmentValues.locale = "ko_KR" (지역정보)
...
이런 정보들이 저장되어 있고 이걸 가져오기위해
@Environment()가 키패스를 인자로 받게 됩니다
수강 기간 연장 문의
0
25
1
수강연장부탁드려도될까요..
0
40
2
Combine Playground 에서 실행 시
0
54
2
70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문
0
41
1
searchable이 화면 하단에 위치해요
0
60
2
Drawing Cycle 관련 질문
0
72
1
앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?
0
94
2
델리게이트 패턴 관련 질문
0
66
2
ios 애드몹 광고
0
128
2
수강 기간 연장 부탁드릴 수 있을까요?
0
60
1
활용 앱 57강 질문입니다.
0
54
1
그래프 그리기 위한 API가 프리미엄 요금제를 구독해야만 가능하다고 합니다...ㅜㅜ
0
75
2
과거 ai없을때 듣고 다시 듣는 중인데
1
55
1
활용 앱 30강 에러 질문입니다
0
63
2
예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생
0
53
1
TextField 에 Binding 으로 연결하면 에러 발생
0
52
1
xcode 26.2 에서 ReducerOf<Self> 이슈
0
76
2
20강 Task 내부에서 nonisolated async 호출 예제 질문드립니다
0
76
2
19강 Actor 의 동작 관련해 질문드립니다
0
82
2
기초앱 17강 Contraints 설정 질문입니다.
0
67
2
예제 코드가 안나와요
0
96
2
혹시 RxSwift 강의 계획도 있으신지 궁금합니다.
1
106
1
@State 관련 질문입니다
1
252
3
안녕하세요 @EnvironmentObject를 RequestInterceptor에서도 사용할 수 있나요?
0
370
1





