본문 바로가기
🍎 iOS

Outlet 변수와 Action 함수

by hyebin (Helia) 2022. 9. 27.

아웃렛 변수(Outlet Variable)

  • 스토리보드에서 추가한 객체의 내용을 변경하거나 특정한 동작을 하기 위해 객체에 접근하기 위한 변수

1. 아웃렛 변수 추가

'Test'라는 Label 객체애 대해서 아웃렛 변수를 추가합니다.

Label 객체를 마우스 오른쪽 버튼으로 선택하고, 보조 편집기 영역으로 드래그하여 클래스 선언문 바로 아래에 해당 객체를 끌어다 놓으면 됩니다. 다음과 같이 연결선이 나타나고, 'Insert Outlet or Outlet Collection'이라는 표시가 나옵니다.

 

2. 아웃렛 변수 연결 설정

아웃렛 변수를 추가하면 다음과 같이 연결 설정창이 나옵니다. 변수명과 type, storage를 선택할 수 있습니다.

 

3. 아웃렛 변수 소스코드

   @IBOutlet weak var testLabel: UILabel!

변수명을 testLabel로 하고, storage를 weak로 선택하면 다음과 같은 소스코드가 추가됩니다.

 

  • @IBOutlet
    • IB는 Interface Builder의 약자로 @IB로 시작되는 변수나 함수는 인터페이스 빌더와 관련된 변수나 함수라는 것을 의미
    • 객체를 소스코드에서 참조하기 위해 사용하는 키워드
    • 주로 색상, 크기, 모양, 선의 두께, 텍스트 내용 등 객체의 속성을 제어하는 데 사용
  • storage - strong / weak
    • 메모리 회수 정책을 나타내는 키워드
    • strong으로 선언된 변수는 다른 곳에서 참조하고 있을 경우 메모리에서 제거되지 않음 -> 메모리 누수 발생
    • weak로 선언된 변수는 다른 곳에서 참조하고 있더라도 시스템이 임의적으로 메모리에서 제거 가능

 

액션 함수(Action Function)

  • 이벤트를 발생시키기 위한 함수

1. 액션 함수 추가

'Test Button'이라는 Button 객체에 대한 액션 함수를 추가합니다.

Button 객체를 마우스 오른쪽 버튼으로 선택하고, 보조 편집기 영역으로 드래그하여 클래스 맨 마지막 부분에 해당 객체를 끌어다 놓으면 됩니다. 다음과 같이 연결선이 나타나고, 'Insert Action, Outlet or Outlet Collection'이라는 표시가 나옵니다.

 

2. 액션 함수 연결 설정

액션 함수를 추가하면 다음과 같은 연결 설정창이 나옵니다. Name과 Type, Event와 Arguments에 대해 설정 가능합니다.

 

3. 액션 함수 소스코드

@IBAction func tapTestButton(_ sender: UIButton) {
   
}

변수명을 tapTestButton으로 하고 Type을 UIButton으로 선택하면 다음과 같은 소스코드가 추가됩니다.

 

  • @IBAction
    • 버튼을 누르거나 피커가 선택되는 등 특정 객체에서 원하는 이벤트가 발생했을 때 정해진 작업을 실행하기 위해 사용
  • 액션 함수
    • 가 실행되도록 이벤트를 보내는 객체
    • AnyObject도 선택 가능

 

 

아웃렛 변수와 액션 함수 삭제

아웃렛 변수와 액션 함수를 추가한 후 삭제하고 싶을 때 소스코드에서 해당 부분을 삭제해도 삭제되지 않습니다.

객체를 마우스 오른쪽 버튼으로 누르면 다음과 같은 창이 나타납니다. 저 창에서 x를 눌러 해제를 해주어야 완벽히 삭제할 수 있습니다.

반응형

'🍎 iOS' 카테고리의 다른 글

WebView  (0) 2022.12.08
Alert  (0) 2022.12.08
Picker View  (0) 2022.12.08
Date Picker  (1) 2022.10.05
UIImageView  (0) 2022.09.28

댓글