: 아웃렛 변수
아웃렛 변수(Outlet Variable)는 스토리보드에서 추가한 객체의 내용을 변경하거나 특정한 동작을 하기 위해서 해당하는 객체에 접근하기 위한 변수입니다. 데이터가 들어오면 해당 데이터를 저장하는 변수라고 보시면 됩니다.
데이터를 가지고 와야 하는 객체에 대해 변수를 만들어보겠습니다. 레이블(Label) 객체의 데이터와 텍스트 필드(Text Field) 객체의 데이터를 가지고 올 수 있는 아웃렛 변수를 추가하고 설정해보겠습니다.
1. 아웃렛 변수 추가 - Label
'Swift App'이라는 Label 객체에 대해서 아웃렛 변수를 추가하겠습니다.
변수를 추가하고자 하는 Label 객체를 [마우스 오른쪽 버튼]으로 선택하시고, 보조 편집기 영역으로 드래그 하시면 됩니다. 이때, 'ViewController 클래스 선언문 바로 아래'에 해당 객체를 끌어다놓으셔야 합니다. 마우스 오른쪽 버튼을 누른 상태에서 뷰 컨트롤러 클래스 선언문 아래로 끌어다놓으시면 위와 같이 연결선이 나타나고, 'Insert Outlet or Outlet Collection' 이라는 표시가 나옵니다.
정리를 하면,
1. 마우스 오른쪽 버튼으로 선택하고 드래그
2. 뷰 컨트롤러 클래스 선언문 바로 아래에 추가(일반적으로 클래스 선언문 바로 아래에 추가함)
여러 개의 아웃렛 변수를 추가하는 경우에는 위에서부터 순차적으로 아웃렛 변수를 추가해주시면 됩니다.
2. 아웃렛 변수 연결 설정 - Label
아웃렛 변수를 추가해주시면 위와 같이 연결 설정 창이 나옵니다.
현재 Connection이 'Outlet'으로 설정되어 있습니다. 해당 아웃렛 변수의 Name과 Type, Storage를 변경해주시면 됩니다.
아웃렛 변수의 Name은 원하시는 대로 설정해주시면 됩니다. 저는 'label_swiftapp'으로 설정해보았습니다.
[Type : UILabel / Storage : Strong] 으로 설정하고 나서 [Connect]를 눌러주세요.
3. 아웃렛 변수 소스 코드 - Label
아웃렛 변수가 추가가 되면 뷰 컨트롤러 선언문 아래에 아웃렛 변수 소스코드가 추가 된 것을 확인할 수 있습니다.
@IBOutlet var label_swiftapp : UILabel!
아웃렛 변수의 각각의 내용이 의미하는 바는 대해서는 아래에서 자세히 알아보도록 하겠습니다.
1. 아웃렛 변수 추가 & 연결 설정- Text Field
텍스트 필드(Text Field) 객체의 아웃렛 변수 추가하는 방법도 Label 객체 아웃렛 변수 추가와 동일합니다. 똑같이 뷰 컨트롤러 클래스 선언문 아래에 드래그앤드롭하시면 위와 같이 연결 설정 창이 열립니다.
Name은 원하시는 대로 입력해주시고, [Type : UITextField / Storage : Strong] 으로 설정해주세요.
2. 아웃렛 변수 소스 코드 - Text Field
텍스트 필드(Text Field) 아웃렛 변수가 추가되면 동일하게 해당 위치에 소스 코드가 추가된 것을 확인할 수 있습니다.
@IBOutlet var text_weather: UITextField!
: 아웃렛 변수(Outlet Variable) 문법
@IBOutlet var label_swiftapp : UILabel!
상단에서 살펴보았던 것과 같이 객체에 대한 아웃렛 변수를 추가하게 되면 위와 같은 아웃렛 변수 소스코드가 생깁니다.
소스코드에서 각각의 의미하는 바가 무엇인지 알아보도록 하겠습니다.
- @IBOutlet
: 아웃렛 변수의 정의로, 객체를 소스 코드에서 참조하기 위해서 사용하는 키워드.
주로 객체의 색상이나 크기, 텍스트 내용 등의 속성을 제어하기 위해서 사용.
IB는 Interface Builder로, @IB로 시작되면 인터페이스 빌더(Interface Builder)와 관련된 변수 또는 함수임을 의미함.
- var label_swiftapp
: var 키워드는 변수를 선언할 때 사용하는 키워드.
var 키워드를 통해 변수를 선언하고 아웃렛 변수의 이름을 입력하여 변수 선언함.
- UILabel!
: 변수의 타입.
레이블(Label) 객체의 변수를 선언할 때에는 해당 객체의 변수 타입(UILabel)을 표시함.
변수 타입 앞에 오는 UI는 User Interface의 약자.
참고로, 아웃렛 변수 연결 설정을 하다보면 storage 항목에서 [strong/weak] 항목을 선택할 수 있습니다. 메모리 회수 정책 키워드로, Xcode의 기본값은 strong으로 선택되어 있고 일반적으로 아웃렛 변수에서도 strong을 사용합니다. 그렇기 때문에 'strong'을 선택하면 소스코드에 아무런 키워드가 추가되지 않지만, 'weak' 항목을 선택하면 변수 앞에 'weak' 키워드가 추가됩니다.
@IBOutlet weak var label_swiftapp : UILabel!
'스위프트(Swift)' 카테고리의 다른 글
Xcode 스토리보드(Storyboard) 화면 구성 및 UI 설정하는 방법 (0) | 2021.06.05 |
---|---|
이미지 뷰(Image View) 추가 및 활용하기 | 이미지 변경하는 방법 (0) | 2021.06.05 |
스위프트(Swift)는 어떤 언어일까? | 스위프트 장점 및 개발환경 (1) | 2021.06.05 |
[Xcode] iOS 시뮬레이터(iOS Simulator) 실행 방법 | 디바이스 변경 방법 (0) | 2021.06.04 |
[Swift] 데이트 피커(Date Picker) 사용 및 속성 설정 방법 | 한글 설정 (0) | 2021.06.04 |