스위프트 델리게이트의 해설 기사를 읽어도 이해가 되지 않았다.그래서 내가 직접 다시 설명했어.

TL;DR

Delegate는'이럴 때 이렇게 하고 싶다'는 처리에서'이럴 때'를 먼저 정리한 것이다.

개시하다

Delegate의 해설문을 읽었다.
실장을 토대로 위탁 처리, 진행 등에 대한 설명은 있었지만 솔직히 나는 몰랐다.
그리고 첫 학자라 잘못 봤을 수도 있지만 반대로 시행하는 방법이 있다는 보도도 있다.
생각하다 보니 위탁 처리, 피처리라는 생각은 나에게 맞지 않는다는 것을 알게 되었다.
다양한 딜게이트의 해설 글을 읽어도 수수께끼가 남아 있는 이들을 위해 쓴 글이다.

그러니까 Delegate를 어떻게 해석하는지.


'이럴 때 이렇게 하고 싶다'는 처리에서'이럴 때'를 먼저 정리했다.
위탁 처리자, 피처리자, 협의라는 말은 이해하기 어렵다.
나는 처음에 위탁자가 View Controller 등에 쓸 줄 알았다.반대로
아마도'위탁'이라는 말은 좋지 않을 것이다.
예를 들어, 고려 사항UITableviewDelegate"Swift의storyboardUITableView를 어떤 화면에 설치하고 ViewController.swift의 참조를 UITableView에 전달한다."
상태를 현상으로 삼다.
(실제로는tableViewCell에 관한 이야기지만 Tableview에 내용이 포함되어 있다고 가정하면 대화를 한다.)
이에 대해 Delegate는 없는 상태에서 "어떤 단원을 가볍게 두드릴 때 어떤 처리를 하고 싶다"고 고려한다.그리고 나서
if (セルをタップ) {
  選択された列 = ~
  選択された列を元にした処理
  ...
아마 이런 처리를 쓰겠죠.
그리고'어떤 칸의 선택 상태를 해제할 때 어떤 처리를 하고 싶어요'.
잠깐만요.
그럼 어떻게 되는 거예요?코드가 혼란스럽다.
구체적으로 어떤 방법이 언제, 어떻게 불이 났는지 모르는 상황 등이 생길 수 있다.
이렇게 되면 코드로서의 일관성은 발굴되기 어려워 더러운 코드가 된다.
따라서'이럴 때 이렇게 하고 싶다'에서'이럴 때'만 빼낸 뒤 ViewController 등 계승적delegate을 먼저 정의했다.
샘플 코드 등을 베낀 사람이라면 알 수 있을 것 같지만 자동으로 보완하면 아래의 그림과 같은 방법이 많을 거예요.
이런 방법의 매개 변수는'이럴 때'를 나타낸다.

이 점을 이해할 수 있다면 거의 이해할 수 있을 것이다. 그리고
코드를 더 쉽게 볼 수 있도록 어떻게 해야 할지 생각하다.그리고 위의 그림과 같이
매개변수만 다르고 메소드 이름이 같다면 어느 활동에서 어떤 일이 일어나는지 한눈에 알 수 있습니다.
따라서 viewDidLoad에서 tableView.delegate=self반으로서'자신이 실제 처리를 책임진다'는 것을 나타냈다. 즉tableView 방법의 첫 번째 파라미터tableView에서 이ViewController반의UITableView 실례로 들어갔다.
아마'의뢰인'의 표현이겠죠. 하지만 전반적으로'가져온'것처럼 느껴지기 때문에 이해하기 힘들죠.

끝말


부탁이라기보다는 추상적이거나'이때'를 정리하는 게 개념적으로 이해하기 쉬우니 써봤다.
아마도 나 자신은 스위프트의 언어 규격마저 위험한 상태일 것이다. 비록 세부적으로 잘못된 점이 있지만, 큰 범위를 잡을 수 있다면 좋겠다고 생각한다.

좋은 웹페이지 즐겨찾기