let segmentedControl: UISegmentedControl = {
let items = ["프리미엄", "사각도시락", "보울도시락", "추가메뉴", "국물/음료"]
let control = UISegmentedControl(items: items)
control.selectedSegmentIndex = 0
control.backgroundColor = .white
control.addTarget(self, action: #selector(segmentChanged(_:)), for: .valueChanged)
return control
}()
마지막 ()는 클로저를 호출하는 구문입니다. 코드에서 let segmentedControl: UISegmentedControl = { ... }() 부분은 클로저를 정의하고 즉시 실행하는 구문입니다. 이 구문은 다음과 같은 역할을 합니다:
- 클로저 정의: 중괄호 { ... } 안에 UISegmentedControl을 초기화하고 설정합니다. 이 경우, 초기 세그먼트의 항목들과 초기 설정들을 포함합니다.
- 즉시 실행: 클로저를 정의한 후, ()를 사용하여 해당 클로저를 즉시 실행합니다. 이는 클로저를 호출하고, 그 결과로 반환된 UISegmentedControl 인스턴스를 segmentedControl 상수에 할당하는 역할을 합니다.
즉, ()를 사용하여 클로저를 즉시 실행함으로써 segmentedControl 상수에 초기화된 UISegmentedControl 인스턴스를 할당하는 것입니다. 이 방식은 인스턴스를 초기화하고 사용하기 위해 간결하고 편리한 방법입니다.
어렵다 어려워,, 나 이거 왜 선택했쥐.,,
'iOS (스파르타)' 카테고리의 다른 글
과제 완성~! 발표!!! (0) | 2024.07.08 |
---|---|
과제의 오류?!?! (0) | 2024.07.04 |
UISegmentedControl (0) | 2024.07.02 |
Swift if문에서 '&&' 와 ' , ' 의 차이 (0) | 2024.07.01 |
피그마,,, - 2 폰트스타일 지정하기까지 (0) | 2024.07.01 |