타겟-액션(Target-Action) 패턴

타겟-액션(Target-Action) 패턴은 iOS 앱에서 주로 사용되는 디자인 패턴으로, 이벤트 발생 시 객체가 특정 작업을 수행하도록 설정하는 방식입니다. 예를 들어, 버튼이 눌릴 때 발생하는 이벤트에 대응하여 메서드를 호출하는 것이 타겟-액션 패턴의 한 예입니다.

Swift로 작성된 간단한 예제를 살펴보겠습니다:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // 버튼 생성
        let button = UIButton(type: .system)
        button.frame = CGRect(x: 100, y: 100, width: 200, height: 40)
        button.setTitle("Click me!", for: .normal)

        // 타겟-액션 설정
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)

        // 버튼을 뷰에 추가
        view.addSubview(button)
    }

    // 버튼이 눌렸을 때 호출되는 메서드
    @objc func buttonTapped() {
        print("Button tapped!")
    }
}

위 코드에서 UIButton 인스턴스를 생성하고, setTitle 메서드를 사용하여 버튼의 타이틀을 설정합니다. 그 다음 addTarget 메서드를 사용하여 타겟-액션 관계를 설정합니다. self는 이벤트가 발생할 때 호출될 메서드를 포함하는 객체를 가리킵니다. #selector(buttonTapped)는 호출할 메서드를 지정하고, .touchUpInside는 버튼이 눌렸을 때 발생하는 이벤트를 나타냅니다. 이렇게 타겟-액션 관계를 설정하면 버튼이 눌리면 buttonTapped 메서드가 호출됩니다.

마지막으로, addSubview 메서드를 사용하여 버튼을 뷰에 추가합니다. 이제 버튼을 누르면 “Button tapped!”라는 메시지가 출력됩니다.

이 예제는 타겟-액션 디자인 패턴을 사용하여 버튼 클릭 이벤트에 대한 응답을 처리하는 방법을 보여줍니다. 이러한 패턴은 사용자 인터페이스 구성 요소의 이벤트 처리를 간결하게 구현할 수 있게 해 주며, 코드의 가독성과 유지 보수성을 향상시킵니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다