View
처음 보는 Target-Action 디자인 패턴을 공부해봤습니다. 물론 잘 사용하려면 어렵겠지만, 그 내용 자체는 크게 어렵지 않은 것 같네요. 한 객체에 target을 연결해두고, 지정한 Event가 발생하면 타겟이 특정한 액션을 취한다는 게 요지인 듯 하네요. 아래에서 예시로 쭉 설명해볼게요!
타겟-액션
말 그대로, 타겟을 정하고 액션을 취하는 방법입니다. ㅋㅋㅋ 원하는 객체에서 어떤 Event가 발생했을 때, 누가 무엇을 수행할지 ( 무엇을 타겟으로 하고, 어떤 액션을 취할지 )를 미리 등록을 해두면 해당 Event가 발생할 때 마다 타겟에게 메세지를 전달해서 액션을 취하게 하는 방법입니다.
위 예시의 코드를 보면 dataPicker에 타겟과 액션을 등록하는데, UIControl에서 값이 바뀔때마다 self의 didDataPickerValueChanged 메서드를 호출하는 코드입니다.
타겟으로 self를 지정해줬고, 액션으로 didDataPickerValueChanged라는 메서드를 등록해두고, 특정 Event로 값 변화를 지정해줬어요. 아래의 프로젝트 예시를 보면 좀 더 잘 이해가 될거예요.
타겟-액션 사용 예시
스토리보드에 보이는 것 처럼, 뷰 위에 DatePicker와 Label을 하나씩 올려뒀습니다. DatePicker에서 값을 고르는데, 값이 바뀔때마다 ViewController에 메세지를 보내서 Label을 업데이트 하도록 메세지를 보내는 코드를 작성할 것입니다.
먼저,viewDidLoad()에서addTarget()으로 어떤 event가 발생하면 누구에게 어떤 액션을 취하도록 할지 결정해줍니다.
액션은 아래에서 func didDataPickerValueChanged()로 작성해줬어요. datePicker에서 date 값을 가져와서 포멧을 지정해서 Label을 업데이트 하는 코드입니다.
이를 빌드해서 실행해주면 다음과 같은 결과를 얻을 수 있습니다.
위 내용들은 edwith의 부스트코스 iOS 앱개발 강의에서 Target-Action 에 대한 공부를 하면서 작성한 내용과 예시입니다. 강의 전체가 무료이고, 네이버 아이디로도 이용할 수 있기 때문에 부담없이 강의를 들을 수 있으니, 관심있는 분이 있으면 한번 들어가서 확인해보시기 바랍니다!
확실히 예제를 이용해 프로젝트를 만들어보면서 공부를 하니까 쉽고 빠르게 Swift와 iOS 개발에 대한 지식이 늘어가는 것 같네요 ㅋㅋㅋ
https://www.edwith.org/boostcourse-ios/lecture/16854/
'Develop > iOS 개발' 카테고리의 다른 글
[iOS 앱 개발 - Swift] 코코아팟으로 이미지편집기 사용하기 (0) | 2019.08.14 |
---|---|
[iOS 앱 개발 - Swift] Gesture Recognizer (2) | 2019.08.11 |
[Swift 개념] Singleton Design Pattern (0) | 2019.08.10 |
[iOS 앱 개발 - Swift] Delegation Design Pattern 간단한 예제 만들어보기 (0) | 2019.08.10 |
[iOS 앱 개발 - Swift] 뷰의 상태변화 감지 (1) | 2019.08.08 |