개인적인 Delegate 패턴 사용할 때 팁
작성일
내가 개인적으로 Delegate 패턴을 사용하다보면, 헷갈리는게 항상 있는데,
어느쪽에 protocol을 설정해주고 delegate를 해줘야할지 많이 헷갈렸다.
그래서 정리를 해보면,
VC1 과 VC2 이렇게 두개의 VC이 있는데,
VC2안의 클릭이 됐단걸 VC1에서 알려주고싶으면
VC1한테 delegate프로토콜을 설정해줘야한다.( 그 정보를 받고 VC1에서 직접 구현할 것이여서 그렇다.)
이떄 VC1에서 VC2.delegate = self 를 꼭 잊지말고 해줘야한다.
즉, 정리해보면
protocol 작성후 함수 작성
VC2에서 weak var delegate: 설정한 (protocol이름)?
버튼또는 기능에 delegate?. 하고 protocol안에서 작성한 함수를 적어주면 된다.
넘기고 싶은 데이터가 있으면 함수에 파라미터를 작성해서 넘기면 된다.