본문 바로가기

모바일/스위프트

[Swift] 아웃렛 변수와 액션 함수 문법

아웃렛 변수(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