아웃렛 변수(Outlet Variable) 와 액션 함수(Action Function)
객체에 대한 속성 지정은 아웃렛(Outlet), 객체에 이벤트를 넣고 싶을 때는 액션(Action)으로 연결
@IBOutlet var lblHello: UILabel!
@IBOutlet var lblHello: UILabel!
@IBOutlet : @IBOutlet으로 정의된 변수를 아웃렛 변수라 함 -> 여기서 IB는 Interface Builder의 약자로 @IB로 시작하는 변수나 함수는 인터페이스 빌더와 관련된 변수나 함수라는 것을 의미, @IBOutlet은 객체를 소스 코드에서 참조하기 위해 사용하는 키워드이며 주로 색상,크기,모양,선 두께, 텍스트 내용 등 객체의 속성 제어 시 사용
var lblHello: 변수 선언 시 var 키워드를 사용 -> 변수를 선언하는 var 뒤에 아웃렛 변수의 이름 lblHello를 입력하여 변수 선언
UILabel! : 선언하고자 하는 변수의 타입, 위 예제는 레이블 객체에 대한 변수를 선언하는 것이므로 UILabel 클래스 타입을 선택
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "Hello, " + txtName.text!
@IBAction func btnSend(_ sender: UIButton) {
lblHello.text = "Hello, " + txtName.text!
@IBAction : 객체의 이벤트를 제어하기 위해 사용하는 키워드, @IBAction으로 정의된 함수를 액션 함수라 함, 버튼을 누르거나 피커가 선택되는 등 특정 객체에서 원하는 이벤트가 발생했을 때 정해진 작업을 실행하기 위해 사용
func btnSend : 함수를 선언할 때 func 키워드를 사용해 선언, 함수를 선언하는 func 뒤에 액션 함수의 이름 btnSend를 입력하여 액션 함수 선언
(_ sender: UIButton) : 액션 함수가 실행되도록 이벤트를 보내는 객체, 즉 여기서는 버튼 객체에서 이벤트가 발생했을 때 해당 액션 함수를 실행시킬 것이므로 UIButton 클래스 타입 선택
lblHello.text : 레이블 객체가 가지고 있는 속성 중 텍스트 내용을 의미하는 속성
= : '같다' 의 의미가 아니라 레이블의 텍스트 속성 .text에 뒤의 내용을 대입한다는 의미
"Hello, " : 쌍따옴표("") 안에 들어간 문구를 그대로 문자열로 사용
+ : '더하기'를 의미하는 것이 아니라 앞의 문자열과 뒤의 문자열을 합친다는 의미
txtName.text! : 텍스트필드 객체가 가지고 있는 속성 중 텍스트 내용을 의미하는 속성, 끝에 붙는 !는 옵셔널 변수의 강제 언래핑을 의미
'모바일 > 스위프트' 카테고리의 다른 글
[Swift]Type Annotation (0) | 2021.09.13 |
---|---|
[Swift] 변수와 상수 (0) | 2021.09.13 |
[Swift] Xcode 프로젝트 생성 (2) | 2021.07.07 |
[Swift] 함수와 클로저 (0) | 2021.07.07 |
[Swift] 옵셔널(Optional) (0) | 2021.07.05 |